DDD~充血模型和失血模型

这几年,状态依旧不好,但在23点以后,状态还可以,所以,静下来,看点DDD,并把相关信息记载一下,今天是除夕,不过,我写文章时已经是大年初一了,呵呵,外面的炮声响亮,但我的内心很平静,也许是年龄大了,对于过年的感觉也已经淡化了吧,再或许是有些事情还放不在。

任务与目标

今年的任务挺多的,目标也确实有点大,压我的有点喘不过气来,对于年未,我们是放松的,因为一年的任何已经完成,目录也已经完成,所以是放松的;但当新的一年真的到来时,意味着你要去实现今年定的目标了,我们需要紧张起来了,需要向着那个目标去奋斗了,这种感觉是我喜欢的!

失血模型

失血模型简单来说,就是domain object只有属性的getter/setter方法的纯数据类,所有的业务逻辑完全由business object来完成,这种模型下的domain object被Martin Fowler称之为“贫血的domain object”

充血模型

将大部分单个的,自身的,逻辑都定义在domain object里,包括持久化逻辑,而BLL层只负责事务处理和逻辑组合,BLL层在这里不直接访问DATA层,它的调用图示一般为:

BLL(业务组合,事务封装)=>domain object领域对象=>DAO(数据访问对象)

OK,对于领域驱动设计,我们对传统的POCO实体要进行必要的扩充,以符合DDD的原则。

相关文章

DDD~概念中的DDD

DDD~充血模型和失血模型

DDD~基础设施层

DDD~microsoft NLayerApp项目中的层次结构图

DDD~领域层

DDD~Unity在DDD中的使用

本文转自博客园张占岭(仓储大叔)的博客,原文链接:DDD~充血模型和失血模型,如需转载请自行联系原博主。

时间: 2024-09-20 01:15:07

DDD~充血模型和失血模型的相关文章

操作模型与展现模型的对象:作者与读者

网页制作Webjx文章简介:用比较容易理解的方式来形容操作模型与展现模型的对象,那就是作者与读者--作者的角色定义是写文章,而读者则是读文章. 用比较容易理解的方式来形容操作模型与展现模型的对象,那就是作者与读者--作者的角色定义是写文章,而读者则是读文章 作者给我们的印象是面对一堆草稿纸,电脑上凌乱的文档碎片,时而抓耳挠腮大脑一片空白,时而思维泉涌洋洋洒洒一大篇:读者则是对着一本包装精美,经过仔细排版的书籍,读的津津有味 这中间有个出版商,将草稿整理排版印刷,然后以最适合读者的形式去演示 产品

WCF中的Binding模型之一: Binding模型简介

一. 信道层与服务模型层(Channel Layer and Service Mode Layer) 对于一个分布式应用的开发与设计来说,通信问题是不得不考虑,同时也是最为复杂.最难实现的问题.在过去的若干年中, 微软先后推出了一系列广受欢迎的通信技术, 比如DCOM.Enterprise Service..NET Remoting.XML Web Service.MSMQ等等.这些技术提供了各自的编程模型,是开发人员从繁琐的完全基于通信的编程中解脱出来,使之仅仅需要关注具体的业务逻辑.WCF是

基于动态混合高斯模型的商品价格模型算法

1. 背景     作为电子商务网站,淘宝网上的每个商品都有一个价格,该价格从一个很重要的维度上反应出一个商品的品质.但是由于该价格是由第三方卖家自己确定的,因此存在一定的随机性.一个价格过低的商品,其假货的可能性往往较大,比如500元的劳力士手表,或者商品的质量存在问题:同时一个价格过高的商品,可能会失去一个潜在的购买者,也可能会是卖家故意设置高价,以便用户按价格排序时展现在靠前的位置.    因此对一个商品当前价格的合理性进行判断,并根据该商品的属性给出其合理的价格区间,对于规范淘宝网的商品

django,性能测试,以及对fastcgi下进程模型和线程模型的分析

/** *作者:张荣华 *日期:2008-11-15 **/ 之前网上有很多关于django的测试,他们的测试结果都表明django在fastcgi模式下,使用线程模型要比进程模型快,而且更稳定,具体文章见:http://irobot.blog.hexun.com/20332312_d.htmlhttp://taoyh163.blog.163.com/blog/static/19580356200802433559850/ 但是ahuaxuan根据操作系统的原理判断结果不应该是这样,理论上来讲,

vs项目部署失败-vs2008建立挖掘模型时候挖掘模型查看器看不成 说项目部署失败怎么办啊

问题描述 vs2008建立挖掘模型时候挖掘模型查看器看不成 说项目部署失败怎么办啊 把数据都弄好后,建立挖掘模型之后,挖掘模型查看器打不开,说由于项目部署失败,导致无法显示最新的挖掘模型内容

e-r-感觉E-R模型转换为关系模型以后的范式都很高啊,为什么还要特意地再去规范化一下呢?

问题描述 感觉E-R模型转换为关系模型以后的范式都很高啊,为什么还要特意地再去规范化一下呢? 因为E-R模型就是根据每个实体画出来的,而范式最后的目的感觉也是把这些实体分离出来,所以觉得E-R模型转换为关系模型以后的范式都很高啊,为什么还要特意地再去规范化一下呢? 解决方案 E-R模型转换为关系模型E-R模型转化成关系模型E-R图向关系模型的转换 解决方案二: http://jingyan.baidu.com/article/95c9d20da85b44ec4e756133.html

3Dmax模型转SketchUp模型

问题描述 3Dmax模型转SketchUp模型,求助??? 解决方案 解决方案二:好困惑吧,转OBJ格式的,因该就可以解决方案三:OBJ,OBJ解决方案四:同问!我也有这个问题解决方案五:我开发了一个3dmax插件,可以直接在3dmax导出skp模型,需要Q我:QQ_245364820

C++中I/O模型之select模型实例_C 语言

本文实例讲述了C++中I/O模型的select模型用法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: void main()  {      CInitSock initSock;      USHORT nPort = 9999; //监听的端口      SOCKET sListen = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);      if (sListen == INVALID_SOCKET)      {       

js中的事件捕捉模型与冒泡模型实例分析_javascript技巧

本文实例讲述了js中的事件捕捉模型与冒泡模型.分享给大家供大家参考. 具体实现方法如下: 实例1: 复制代码 代码如下: <html> <head> <script type="text/javascript">  window.onload = function(){   document.getElementById('par').addEventListener('click',function() {alert('par');},true);