为何DDD认为JavaBean是缺血模型
JavaBean被称为anemic domain model的原因是JavaBean或者POJO完全沦为了properties bag(可以类比到C/C++里的struct)。 DDD的争论认为一个POJO然后加上一堆setter和getter根本称不上为一个Object(对象),对象是真实世界业务对象的反应。 回想刚学Java的的时候,经典的Java书籍里是不是会让你写一个 对象的意义在于封装并提供行为,而POJO的 还是拿 cat.setHappiness(..); cat.setLoyalty(..); cat.setHunger(..) 而且POJO是违反SRP原则的(如果要修改一个类,那么指应该是它的职责发生变化,而不应该是其他)。 如果项目经理某天告诉你,猫被喂食后还要增加毛色的光泽度,如果是DDD设计的,我们只需要修改 而如果是POJO的话,那么我们要在所有原来 你可能会争论,我可以把 而且因为你已经暴露了 可以看Martin Fowler的这篇文章 AnemicDomainModel (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |