DesignPatternLearning
学习《Head First 设计模式》编写的小例子,附带文档注释代码,可以直接生成API文档。
基础&设计原则&设计模式
基础
- 抽象
- 封装
- 多态
- 继承
OO原则
- 封装变化
- 多用组合,少用继承
- 针对接口编程,不针对实现编程
- 为交互对象之间的松耦合设计而努力。
设计模式
- 策略设计模式(Strategy):封装变化,组合嵌入
- 装饰器设计模式(Decorator):统一类型,无限叠加
- 模板方法设计模式(Template Method):易变步骤推迟到子类实现
- 单例模式(Singleton):保证最多只存在一个实例
- 工厂方法与抽象工厂模式(Factory Method & Abstract Facotry):低耦合方式生产对象
- 命令模式(Command):封装方法调用,解耦调用者与接收者
why we learn pattern
设计模式可以把你的思考架构的层次提高到模式层面,而不是仅停留在琐碎的对象上。记住,知道抽象、继承、多态这些概念,并不会马上让你变成好的面向对象设计者。设计大师关心的是建立弹性的设计,可以维护,可以应付变化。
在软件开发行列,永远不变的真理就是变化。不管软件当初设计得多好,一段时间之后,总是需要成长与改变,否则软件就会死亡。
原则依赖基础,模式依赖原则。