这是一个已知的模式吗?

Zom*_*man 2 oop soa design-patterns

我试图在我的类中完全将行为与数据分开,并提出了这个简单的解决方案:

class ClassAData
{
    public int Property1;
    public string Property2;
    public bool Property3;
}

class ClassA : SomeInterface
{
    public ClassAData Data;

    //behaviour
    public int CalculateSomething(int value)
    {
        ...
        return result;
    }
    public string SomeOtherMethod(){...}           
} 
Run Code Online (Sandbox Code Playgroud)

(适当的封装当然会被应用......)

我想知道这是用某种东西知道还是用于普通模式?还有什么缺点?

编辑: 也许我应该更清楚我打算在哪里使用它.我不主张在每种情况下都为每个班级使用它.我打算在面向服务的应用程序中使用它,其中ClassA是实际的域对象,ClassAData是在服务层和表示层之间传输的DTO.这种方法避免了相当多的代码重复,特别是如果有许多具有大量属性的类.

Mat*_*ith 6

我不确定你为什么要将行为与数据分开.面向对象编程专门将数据与与该数据相关联的行为连接起来.我个人从未见过以你正在做的方式完全与行为分离的数据.