《Head First Design Patterns》 关于种设计的一些设计理念

《Head First Design Patterns》 关于类设计的一些设计理念

《Head FirstDesign Patterns》 关于类设计的一些设计理念:

1、  Encapsulate what varies. 把修改抽取出来,参看模式:Strategy Pattern 策略模式;

2、  Favor composition over inheritance.选择组合,避免继承扩展,参看模式:Strategy Pattern 策略模式;

3、  Programto interface, not implementations.使用接口,减小直接使用具体类,增加可扩展性,参看模式:Strategy Pattern 策略模式;

4、  Strive for loosely coupled designs between objects that interact. 在对象之间的交互中尽量降低耦合度,参看模式: Observer Pattern 观察者模式;

5、  Classes should be open for extension but closed for modification. 增加可扩展性,减小代码修改影响,参看模式:Decorater Pattern 装饰者模式

6、  Depend on abstractions. Do not depend on concrete classes. 面向抽象(抽象类、基类)设计,增加可扩展性,参看模式:Factory Methond Pattern工厂方法模式

7、  Only talk to your friends.减小类的使用个数,降低依赖度,参看模式:Façade Pattern 外观(简化)模式;

8、  Don’t call  us , We’ll call you .在Hook(钩子)时,由父类抽象出来方法,子类实现,由父类调用子类的具体实现,减小子类调用父类具体方法。参看模式:Template Methond Pattern 模板方法模式;

9、A class should have onlyone reason to change.精化类的工作职责,让类只为自己的职责改变而修改,参看模式:Iterator Pattern 迭代模式;