中国是一个含蓄的民族,处对象一般都得通过一个介绍人。
这是一本阐述微观设计的书,而不是阐述宏观设计的书。
《Java与模式》首先阐述了代码的设计原则,又描述了怎样来创建一个类或对象,紧接着告诉大家怎样来组织这些类和对象来实现功能。它是设计模式,而不是架构模式。
OO
面向对象编程,实质上是面向抽象编程,即面向接口编程。所谓的面向接口编程,指类之间都要使用接口来通信。类来封装对象的行为,接口来封装类之间的通信方
法,接口是更高层次的抽象。这里的接口可以是一个具体类,一个抽象类,或是一个Java接口,它不单单指Java接口。
第四章: 开闭原则
抽象化:面向对象设计的重要原则是创建抽象化,并且从抽象化导出具体化。具体化可以给出不用的版本,每一个版本都给出不同的实现。
1。开闭原则
一个软件应该对扩展开放,对修改关闭。
一种可变性不应当散落在代码的很多角落里,而应当被封装到一个对象里面。
继承应当被看做是封装变化的方法,而不应当被认为是从一般的对象生成特殊的对象的方法。
一种可变性不应当与另一种可变性混合在一起。最好所有的继承结构不超过两层,不然就意味着将两种不同的可变性混合在了一起。
2。里氏代换原则
任何基类可以出现的地方,子类一定可以出现。
3。依赖倒转原则
要依赖于抽象,不要依赖于实现。
4。合成/聚合复用原则
要尽量使用合成/聚合,而不是继承关系达到复用的目的。
5。迪米特法则
一个软件实体应当与尽可能少的其它实体发生相互作用。(模块之间)
6。接口隔离原则
应当为客户端提供尽可能小的单独的接口,而不是提供大的总接口。
7。策略模式
将每一个算法用一个类封装起来,多个类实现同一个接口。用到哪种策略就实例化哪个类。
**************************************************************
第五章: 接口
它应当只用来声明一个新的类型
1。接口可以认为是继承的一种,叫做接口继承,而extends叫做实现继承。接口是个角色,而实现类是这个角色的演员。接口这个角色使之可以动态的智能的选择演员。
可插入性:
别的类只让这个角色做事情,而它不必关心是哪个演员做的。
2。用它来声明一个新的类型。在理想情况下,一个具体的java类应当只实现java接口和抽象java类中声明过的方法,而不应当给出多余的方法。
3。类型等级结构:java接口一般用来作为一个类型的等级结构的起点。
class本身是个类型,但它的起点应该是它所实现的接