<Head first :Design Pattern> 学习笔记
- 抽象
- 封装
- 多态
- 继承
- 封装变化
- 多用组合,少用继承
- 找出程序中会变化的方面,然后将其和固定不变的方面相分离
- 针对接口编程,不针对实现编程
- 为交互对象之间的松耦合设计而努力
- 类应该对扩展开放,对修改关闭
- 最少知识原则:尽量与一个对象交互
- 好莱坞原则:别底样我们,我们会调用你
在对象之间定义一对多
动态地将责任附加到对象上.想要扩展功能,装饰者提供有别于继承的另一种选择
单例模式,确保一个类只有一个实例,并提供一个全局访问点
将一个类的接口,转换成客户期望的另一个接口.适配器让原本接口不兼容的类可以合作无间
外观模式提供了一个统一的接口,用来访问子系统中的一群接口.外观定了一个高层接口,让子系统更容易使用.
模板方法模式在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤