23种 设计模式
3种分类
创建型 | 结构型 | 行为型
单件模式(Singleton) 代理模式(Proxy) 命令模式(Command)
工厂模式(Factory) 适配器(Adapter) 模板方法(Template)
构建器模式(Builder) 状态模式(State)
策略模式(Strategy)
责任链模式(Chain of Responsibility)
观察者模式(Observer)
多派遣模式(Multiple Dispatching)
访问者模式(Visitor)
GoF提出的设计原则:对象组合优于继承。
Ps:在More Effective C++也有相同的观点,要深入理解继承的语法糖意图才能真正理解和很好的使用它。
《极限编程》的指导原则之一:“只要能用,就做最简单的。”
总之,这些概念最直接的动机是将变化的事物和不变的事物分离开,隔离细节,将变化阻止在一定范围内传播;最简单的处理方式就是增加一些抽象层。
感知变化,增加抽象,解放维护的双手用于创造更多的新事情。