Q:如果说面向对象的精髓是能最强的减小粒度(许多解耦的思想其实就是减小了粒度),那么岂非是粒度越小越好?
这个尺度分两个方面:如果这个对象是业务对象,那么粒度以客观世界中物体粒度为准。客观世界物体是关联或聚合的,这个关系无法突破,松耦合到这个份上就走不下去了。
如果这个对象不是业务对象,是属于计算机世界的组件对象,那么粒度当然约细越好,但是因为对象之间的依赖是不可消灭的,也就是说,靠一个对象不可能做所有的事情,对象之间依赖是天生的,因此粒度这条路走下去,会遇到“依赖”这堵墙。所以,不用担心细粒度松耦合走下去是一个无底洞。
来源:http://www.jdon.com/jivejdon/thread/33049
领域模型?
举例来说,我们编一个银行软件,如果你只关注了账户的增删改查,这叫做贫血!而实际上你应该关注的是账户的业务特征,而不是数据特征,你应该关注的是账号开立的业务,账户注销的业务,账号过户的业务等等,这才是领域模型。这种领域模型在一个单纯的技术实现层面来说,对于最简单的业务,你可能只是Account类的增删改查,但是对于复杂的业务来说,他就不单但是一个类,一个表的简单操作了,例如开立账户,你要收手续费,以及考察个人财务状况,那么此时你需要的就是一组协作的类。
来源:http://www.360doc.com/content/06/0718/16/6261_158951.shtml
浙公网安备 33010602011771号