1700455714
设计模式之禅 4.4 最佳实践
1700455715
1700455716
接口隔离原则是对接口的定义,同时也是对类的定义,接口和类尽量使用原子接口或原子类来组装。但是,这个原子该怎么划分是设计模式中的一大难题,在实践中可以根据以下几个规则来衡量:
1700455717
1700455718
❑一个接口只服务于一个子模块或业务逻辑;
1700455719
1700455720
❑通过业务逻辑压缩接口中的public方法,接口时常去回顾,尽量让接口达到“满身筋骨肉”,而不是“肥嘟嘟”的一大堆方法;
1700455721
1700455722
❑已经被污染了的接口,尽量去修改,若变更的风险较大,则采用适配器模式进行转化处理;
1700455723
1700455724
❑了解环境,拒绝盲从。每个项目或产品都有特定的环境因素,别看到大师是这样做的你就照抄。千万别,环境不同,接口拆分的标准就不同。深入了解业务逻辑,最好的接口设计就出自你的手中!
1700455725
1700455726
接口隔离原则和其他设计原则一样,都需要花费较多的时间和精力来进行设计和筹划,但是它带来了设计的灵活性,让你可以在业务人员提出“无理”要求时轻松应付。贯彻使用接口隔离原则最好的方法就是一个接口一个方法,保证绝对符合接口隔离原则(有可能不符合单一职责原则),但你会采用吗?不会,除非你是疯子!那怎么才能正确地使用接口隔离原则呢?答案是根据经验和常识决定接口的粒度大小,接口粒度太小,导致接口数据剧增,开发人员呛死在接口的海洋里;接口粒度太大,灵活性降低,无法提供定制服务,给整体项目带来无法预料的风险。
1700455727
1700455728
怎么准确地实践接口隔离原则?实践、经验和领悟!
1700455729
1700455730
1700455731
1700455732
1700455734
设计模式之禅 第5章 迪米特法则
1700455735
1700455737
5.1 迪米特法则的定义
1700455738
1700455739
迪米特法则(Law of Demeter,LoD)也称为最少知识原则(Least Knowledge Principle,LKP),虽然名字不同,但描述的是同一个规则:一个对象应该对其他对象有最少的了解。通俗地讲,一个类应该对自己需要耦合或调用的类知道得最少,你(被耦合或调用的类)的内部是如何复杂都和我没关系,那是你的事情,我就知道你提供的这么多public方法,我就调用这么多,其他的我一概不关心。
1700455740
1700455741
1700455742
1700455743
1700455745
设计模式之禅 5.2 我的知识你知道得越少越好
1700455746
1700455747
迪米特法则对类的低耦合提出了明确的要求,其包含以下4层含义。
1700455748
1700455749
1.只和朋友交流
1700455750
1700455751
迪米特法则还有一个英文解释是:Only talk to your immedate friends(只与直接的朋友通信。)什么叫做直接的朋友呢?每个对象都必然会与其他对象有耦合关系,两个对象之间的耦合就成为朋友关系,这种关系的类型有很多,例如组合、聚合、依赖等。下面我们将举例说明如何才能做到只与直接的朋友交流。
1700455752
1700455753
传说中有这样一个故事,老师想让体育委员确认一下全班女生来齐没有,就对他说:“你去把全班女生清一下。”体育委员没听清楚,就问道:“呀,……那亲哪个?”老师无语了,我们来看这个笑话怎么用程序来实现,类图如图5-1所示。
1700455754
1700455755
1700455756
1700455757
1700455758
图5-1 老师要求清点女生类图
1700455759
1700455760
Teacher类的commond方法负责发送命令给体育会员,命令他清点女生,其实现过程如代码清单5-1所示。
1700455761
1700455762
代码清单5-1 老师类
[
上一页 ]
[ :1.700455713e+09 ]
[
下一页 ]