DDD领域驱动 (一)
2024-10-11 05:15:51
说道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聚合根接口的抽象类。
这里不得不提到聚合个概览。
引用一下图片:
未完待续。
最新文章
- 安装KVM及虚拟机
- sublimetext3中保存代码片段
- EntityFramework错误:Unable to update the EntitySet because it has a DefiningQuery
- javascript (2)
- 监测程序运行的时间,stopWatch
- 删除Xcode中的 证书文件
- NVIC优先级分组
- 【PKUSC 2015的一道数学题】
- SQL语句最基本的性能优化方法
- java多线程下载网络图片
- 转载:LBP代码详细注释
- Debian 如何更改hdmi接口输出的分辨率
- 控制反转(IoC)与依赖注入(DI)
- hdu4055 dp
- 【JavaScript】函数
- Olap学习笔记
- [UE4]GameInstance初始化
- 2018房地产沉思录 z
- Flask从入门到精通之Jinja2模板引擎
- kettle环境变量的设置和获取