23种设计模式概述
学习设计模式的意义
- 设计模式的本质是面向对象设计原则的时间运用,是对类的封装性、继承性、和多态性以及类的关联关系和组合关系的充分理解。
优点
- 提高程序员的思维能力、编程能力和设计能力
- 是程序设计更加标准化、代码更加工程化、使软件开发效率大大提高,从而缩短软件的开发周期。
- 使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。
GOF23
-
创建型模式
单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式
-
结构型模式
适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式
-
行为模式
模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。
OOP的七大原则
- 开闭原则:对扩展开放,修改关闭
- 里氏替换原则:继承必须确保超类所拥有的性质在子类中任然成立
- 依赖倒置原则:要面向接口编程,不要面向实现编程
- 单一职责原则:控制类的粒度大小、将对象解耦、提高其内聚性
- 接口隔离原则:要为各个类建立他们需要的专用接口
- 迪米特法则:只与你的直接朋友交谈、不跟"陌生人"说话
- 合成复用原则:尽量先使用组合或者聚合等关联关系实现,其次才考虑使用继承关系来实现。