[color=orange][size=large]《Effective Java Program Language Guide, 2E》-writtern by Joshua Bloch[/size][/color]
[b][color=blue][size=large]第一章:引言[/size][/color][/b]
先复习下23种设计模式:11种行为型模式,5种创建型模式和7种结构型模式。
[img]http://dl.iteye.com/upload/attachment/0071/7114/ae526495-6166-3419-9ad8-e4f21b1c18da.png[/img]
然后再是OOD的几个原则:
1.单一职责原则(SRP,Simple responsibility):就一个类而言,应该仅有一个引起它变化的原因。
2.开放-封闭原则(OCP,Open for extension & Closed for modification):软件实体(函数、类、模块等)应该可以扩展,但是不可以修改。
3.接口隔离原则(ISP,Interface segregation):使用多个专门的接口比使用单一的总接口要好,一个类对另外一个类的依赖性应当是建立在最小接口上的。
4.里氏代换换则(LSP,Liskov substitution):子类型能够替换掉它们的父类型。
5.依赖倒转原则(DIP,Dependency Inversion):高层模块不应该依赖低层模块,两个都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。
6.合成-聚合复用原则(CARP,Composition/Aggregation Reuse):尽量使用合成/聚合,而不是继承。只有两个类满足里氏代换原则的时候,才可能是“is-a”关系,它们就可以用继承;否则请尽量用合成(has by value)和聚合(has by reference)。[color=blue](第一章完)[/color]
[b][color=red]文章本人原创,转载请注明作者和出处,谢谢。[/color][/b]
[b][color=blue][size=large]第一章:引言[/size][/color][/b]
先复习下23种设计模式:11种行为型模式,5种创建型模式和7种结构型模式。
[img]http://dl.iteye.com/upload/attachment/0071/7114/ae526495-6166-3419-9ad8-e4f21b1c18da.png[/img]
然后再是OOD的几个原则:
1.单一职责原则(SRP,Simple responsibility):就一个类而言,应该仅有一个引起它变化的原因。
2.开放-封闭原则(OCP,Open for extension & Closed for modification):软件实体(函数、类、模块等)应该可以扩展,但是不可以修改。
3.接口隔离原则(ISP,Interface segregation):使用多个专门的接口比使用单一的总接口要好,一个类对另外一个类的依赖性应当是建立在最小接口上的。
4.里氏代换换则(LSP,Liskov substitution):子类型能够替换掉它们的父类型。
5.依赖倒转原则(DIP,Dependency Inversion):高层模块不应该依赖低层模块,两个都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。
6.合成-聚合复用原则(CARP,Composition/Aggregation Reuse):尽量使用合成/聚合,而不是继承。只有两个类满足里氏代换原则的时候,才可能是“is-a”关系,它们就可以用继承;否则请尽量用合成(has by value)和聚合(has by reference)。[color=blue](第一章完)[/color]
[b][color=red]文章本人原创,转载请注明作者和出处,谢谢。[/color][/b]