DDD领域驱动之干货 (一)

来源:互联网 发布:mac 服务器域名怎么看 编辑:程序博客网 时间:2024/05/17 17:40

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

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

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

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

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


  我也来说说领域模型

1.为什么叫领域模型?

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

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

2.下面我们看看代码是如何设计。

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

    如下图。

           

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

    

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

    引用一下图片:

    

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

    

相关文章: 

  •   WeText项目:一个基于.NET实现的DDD、CQRS与微服务架构的演示案例

  • 【DDD/CQRS/微服务架构案例】在Ubuntu 14.04.4 LTS中运行WeText项目的服务端

原文地址:http://www.cnblogs.com/edna-lzh/p/6869416.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

原创粉丝点击