《Java与模式》笔记(二)

8 依赖倒转原则(DIP

释义

要依赖于抽象,不要依赖于具体。

抽象不应当依赖于细节,细节应当依赖于抽象。

要针对接口编程,而不要针对实现编程。

针对接口编程的意思是,应当使用Java接口和抽象Java类进行变量的类型声明、参量的类型声明、方法的返还类型声明,以及数据类型的转换等。

建议

以抽象的方式耦合是依赖倒转原则的关键。

在某些情况下,如果一个具体类发生变化的可能性非常小,那么抽象耦合能发挥的好处变十分有限,这时使用具体耦合反而会更好。

9 接口隔离原则(ISP

释义

使用多个专门的接口闭比使用单一的总接口要好。

 

10 合成/聚合复用原则(CARP

释义

在一个新的对象里面使用已有的对象,使之成为新对象的一部分;新的对象通过向这些对象委派达到复用已有功能的目的。

要尽量使用合成/聚合,尽量不要使用继承。

合成和聚合的区别

聚合用来表示“拥有”关系或者整体与部分的关系;而合成则用来表示一种强得多的“拥有”关系。

在一个合成关系里,部分和整体的生命周期是一样的。一个合成的新的对象完全拥有对其组成部分的支配权,包括它们的创建和湮灭等。使用程序语言的术语来讲,组合而成的新对象对组成部分的内存分配、内存释放有绝对的责任。

 

11 迪米特法则(LoD

释义

一个对象应当对其他对象有尽可能少的了解。

只与你直接的朋友通信。

不要跟“陌生人”说话。

每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。

posted on 2011-07-21 13:20  伯银  阅读(346)  评论(0编辑  收藏  举报

导航