Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 领域驱动的设计实体和价值对象_Java_C#_Domain Driven Design - Fatal编程技术网

Java 领域驱动的设计实体和价值对象

Java 领域驱动的设计实体和价值对象,java,c#,domain-driven-design,Java,C#,Domain Driven Design,DDD中建模的每个类型都必须是实体还是值对象 否,在DDD中,您可以对以下类型的对象进行建模: 域事件:定义事件的域对象。其中领域事件是领域专家关心的事情 服务:当操作在概念上不属于任何对象时。按照问题的自然轮廓,您可以在服务中实现这些操作 存储库:检索域对象的方法应委托给专门的存储库对象,以便可以方便地交换替代存储实现 工厂:用于创建域对象的方法应委托给专门的工厂对象,以便可以方便地交换替代实现 加上你喜欢的任何其他类型的物体……没有这样的限制。尽管战术模式涉及这些,但您并没有受到任何限制。战

DDD中建模的每个类型都必须是实体还是值对象

否,在DDD中,您可以对以下类型的对象进行建模:

域事件:定义事件的域对象。其中领域事件是领域专家关心的事情

服务:当操作在概念上不属于任何对象时。按照问题的自然轮廓,您可以在服务中实现这些操作

存储库:检索域对象的方法应委托给专门的存储库对象,以便可以方便地交换替代存储实现

工厂:用于创建域对象的方法应委托给专门的工厂对象,以便可以方便地交换替代实现


加上你喜欢的任何其他类型的物体……没有这样的限制。尽管战术模式涉及这些,但您并没有受到任何限制。战术模式是正确的。@plalx当然没有限制。DDD只是另一种形式化,一组规则和方法。您会使用存储库还是查询对象?这取决于您。