DDD领域驱动之干货 (一)

说道DDD不得不说传统的架构与DDD的架构区别。数据库

传统的架构不外乎就是三层,而在这三层里面又不断的细分,始终没有达到想要的效果,那么为何当时仍是采用三层。架构

固然在DDD没有提出的时候三层是大多数人的选择。学习

那么当领域驱动被提出来的时候它又能带给咱们什么样的好处??spa

 近期博主看了一下dax.net大佬有关DDD的文章,这里提出本身的一些心得,本着共同窗习的精神一块儿进步。.net

 
  我也来讲说领域模型

 

 

 

   1.为何叫领域模型?设计

    首先传统的模型(这里指的只具有getter 和 setter)不包含其余业务逻辑泛指没有具体的功能这种模型咱们称为失血(贫血)模式。对象

    而后才是具有有业务的模型除了getter 和setter 外还有其余的业务逻辑包含在里面,好比说我有一个购物车,购物车内有5件商品,每件商品价值20元,那么在销售订单的时候能够这样写总价=5*20。固然这个例子有点牵强,意会意会就好了。blog

    2.下面咱们看看代码是如何设计。接口

    首先咱们有个user、address、saleorder、salelines、Categorization、Category、Product、userrole、ShoppingCart、ShoppingCartItem几个类图片

    以下图。

           

    其中声明IEntity领域实体接口、IAggregateRoot聚合根集合、AggregateRoot聚合根接口的抽象类。

    

    这里不得不提到聚合个概览。

    引用一下图片:

    快速理解聚合根、实体、值对象

      生成的数据库模型以下图:

    

相关文章
相关标签/搜索