什么是设计模式
设计模式是对代码开发经验的总结,是解决特定问题的一系列套路。
是一套用来提高代码可复用性,可维护性,可读性,稳健性
以及安全性的解决方案。
设计模式起源于《设计模式:可复用面向对象软件的基础》,该书由GOF合作出版,共收录了23种设计模式。
为什么要学设计模式
设计模式的本质是面向对象涉及原则的实际应用,是对类的封装,继承,多态的充分理解。
设计模式的基本要素
- 模式名称
- 问题
- 解决方案
- 效果
GOF23
创建型模式
一般用于创建对象,使得创建和使用分离。
- 单例模式,工厂模式,抽象工厂模式,建造者模式,原型模式。
结构性模式
将类对象按照某种布局组合成更大的结构。
- 适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式
行为型模式
描述类和对象之间相互协作,主要是分配职责。
- 模板方法模式,命令模式,迭代器模式,观察者模式,中介者模式,备忘录模式,解释器模式,状态模式,策略模式,职责链模式,访问者模式
面向对象的七大原则
- 开闭原则:对扩展开放,对修改关闭
- 里氏替换原则:继承必须确保超类所拥有的性质在子类中仍然成立
- 依赖倒置原则:要面向接口编程,不要面向实现编程
- 单一责任原则:控制类的粒度大小,将对象解耦提高其内聚性。
- 接口隔离原则:要为各个类简历他们需要的专用接口
- 迪米特法则:只与你的直接朋友交谈,不跟”陌生人“说话
- 合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑用继承关系来实现。