DDD核心思想是由业务问题来控制解决方案的形式从以数据库为中心过渡到领域模型为中心
下面这个图是我在《领域驱动设计与模式实战》书中拍下来的,他完全诠释DDD的经典分层。
程序代码中也是响应的引用关系
各层概念:
表现层(Presentation Layer):图中的用户界面层包括用户接口层,用户输入和数据展示。
应用层(Application Layer):应用层定义系统的业务功能,并指挥领域层中的领域对象实现这些功能。
领域层(Domain Layer):核心层,实现所有业务逻辑。
基础设施层(Infrastructure Layer):提供整个业务系统的基础服务。
领域模型的切割: 领域驱动设计除了对系统架构进行了分层描述,还对对象(Object)做了明确的职责和策略划分: 1、实体(Entities):具备唯一ID,能够被持久化,具备业务逻辑,对应现实世界业务对象。 2、值对象(Value objects):不具有唯一ID,由对象的属性描述,一般为内存中的临时对象,可以用来传递参数或对实体进行补充描述。 3