《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 迭代模式;