什么是领域模型,充血模型,贫血模型?
小生所识甚少
然见网上讨论甚激烈
用词专业,名词较多,不易理解
因此发帖于此,盼牛人用通俗易懂之句解惑之,领域模型,充血模型,贫血模型.
若能简单举例,小弟感激不尽.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
小生所识甚少
然见网上讨论甚激烈
用词专业,名词较多,不易理解
因此发帖于此,盼牛人用通俗易懂之句解惑之,领域模型,充血模型,贫血模型.
若能简单举例,小弟感激不尽.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(14)
一看到 java那一大堆set 和get,我不知道的和一个pubilc的变量有什么区别
不明白意思……
一看到 java那一大堆set 和get,我不知道的和一个pubilc的变量有什么区别
一看到 java那一大堆set 和get,我不知道的和一个pubilc的变量有什么区别
我的理解不是说 DAO 和领域层的分离喔,我觉得无论是贫血模型还是充血模型,和 DAO 分离与否关系不大。(例如采用 ActiveRecord 作为领域模型,无论充血与否,DAO 都不分离的)
个人认为,区别所在还是在服务层和领域模型,要看业务逻辑是以过程脚本的形式集中在服务层而领域模型基本没有业务逻辑(贫血);还是服务层仅仅作为一个外观,领域逻辑集中在领域模型内部(充血)。
不知这样理解是否正确?
额,el表达式只认get方法
其实全部都public不是挺好的
一看到 java那一大堆set 和get,我不知道的和一个pubilc的变量有什么区别
基本就是几个语言互相攻击的时候用
06年的时候对此还感兴趣过一阵,现在看来,都是浮云.
只做数据存储的模型就是贫血的,如果牵扯到业务逻辑活着数据库交互,就算充血的。
通过实际的例子来表述就很简单了。以我的诗篇在线建站系统来说,如果site对象仅仅具有getter和setter方法,那就是贫血的。如果site对象里面加入:site.getSection(int sid),site.findSection(String sectionname),site.getArticlePage(int pn),site.getArticleByFlag(string flag,int pn)。这样一来就变成充血的了。比如你有一个util函数,将你的对象作为参数来完成必要的功能,这样的对象往往是贫血的,如果你可以直接命令对象完成任务,往往是充血的。
简单说就是要不要在dao中加入业务逻辑
可以去搜索下领域建模
iteye上应该有不少讨论帖
http://www.oschina.net/question/54100_10399
http://www.oschina.net/question/54100_10400
充血模型和贫血模型
http://www.oschina.net/question/12_21641
领域模型