diff --git a/设计模式/设计思想/领域模型.md b/设计模式/设计思想/领域模型.md new file mode 100644 index 0000000..fe71f28 --- /dev/null +++ b/设计模式/设计思想/领域模型.md @@ -0,0 +1,33 @@ +# 领域模型 + +## 失血模型 + +业务逻辑和应用逻辑都放到服务层中 + ++ service 肿胀的服务逻辑 ++ model:只包含get set方法 ++ dao :数据持久化 + +## 贫血模型 + +贫血模型中包含了一些业务逻辑,但不包含依赖持久层的业务逻辑。这部分依赖于持久层的业务逻辑将会放到服务层中。可以看出,贫血模型中的领域对象是不依赖于持久层的 + ++ service :组合服务 也叫事务服务 + ++ model:除包含get set方法,还包含 单服务 又叫原子服务 + ++ dao:数据持久化 + +## 充血模型 + +service :组合服务 也叫事务服务 + +model:get set方法, 单服务 又叫原子服务,含数据持久化的逻辑 + +充血模型中包含了所有的业务逻辑,包括依赖于持久层的业务逻辑。所以,使用充血模型的领域层是依赖于持久层,简单表示就是UI层->服务层->领域层<->持久层 + +## 涨血模型 + +胀血模型就是把和业务逻辑不想关的其他应用逻辑(如授权、事务等)都放到领域模型中。我感觉胀血模型反而是另外一种的失血模型,因为服务层消失了,领域层干了服务层的事,到头来还是什么都没变。 + +model:get set方法, 单服务又叫原子服务 ,数据持久化的逻辑 还包含组合服务,又叫事务服务 \ No newline at end of file