ASP.NET Core分布式项目实战

默认教学计划
1052人加入学习
(33人评价)
价格 ¥398.00
教学计划

领域驱动设计 DDD (Domain Drive Design)
在软件开发的业务知识梳理过程中,必定会形成木个领域知识,根据领域知识一步步驱动软件设计。

 

  • 领域模型(Domain Model):能精确反应领域中某一知识元素的载体。分为实体,值对象,服务。 
  • 值对象(Value Object):没有唯一标识符的实体,在领域模型中是可以被共享的,他们应该是“不可变的”(只读的),当有其他地方需要用到值对象时,可以将它的副本作为参数传递。
  • 实体(Entity):通过一系列连续性(continuity)和标识(identity ID)来定义;
  • 领域服务(Domain Service):当领域中的某个重要过程或转换操作不属于实体或值对象的自然职责时,应该在模型中添加一个作为独立接口的操作,并将其申明为Service
  • 领域事件(Domain Event)
  • 资源库(Repository):负责从存放资源的位置(数据库、内存或者其他 Web 资源)获取、添加、删除或者修改领域对象。
  • 工厂(Factory):把创建对象的细节封装起来,巧妙的实现了依赖反转。
  • 聚合(Aggregate):多个模型单元间的组合,它定义了模型的关系和边界。每个聚合都有一个根,根是一个实体,并且是唯一可被外访问的。聚合是一种边界,它可以封装一到多个实体值对象,并维持该边界范围之内的业务完整性。在聚合中,至少包含一个实体,且只有实体才能作为聚合根(Aggregate Root)
  • 应用服务(Application Service):服务存在的目的就是为领域提供简单的方法。为了提供大量便捷的方法,自然要关联许多领域模型。

    服务具有以下特点:

    a)服务中体现的行为一定是不属于任何实体和值对象的,但它属于领域模型的范围内
    b)服务的行为一定设计其他多个对象
    c)服务的操作是无状态的

[展开全文]

授课教师

程序员

课程特色

下载资料(2)
视频(144)
讨论(1)
图文(2)