设计模式(一)——基础概念
概述
设计模式用于软件设计中的最佳实践,是经过众多软件开发人员在长时间的试验中总结出来。设计模式被大多数开发人员所知,其中每一种模式,在现实中都有与之对应的原理,每种模式都描述了一个在开发过程中反复遇到的问题,直接使用设计模式,将使代码编写工程化,让代码更容易被他人理解,各组件重用性更好,也可以加快软件开发的速度。
设计模式六大原则
- 开闭原则: 对扩展开放,对修改关闭。在程序进行扩展时,不应该去修改源码,而是要实现类似热拔插的效果;
- 里氏代换原则: 任何基类可以出现的地方,派生类一定可以出现。只有当派生类替换基类,且程序单位的功能不受影响时,基类才真正能够复用,而且派生类也能在基类的基础上添加新的功能。里氏代换原则是对开闭原则的补充,开闭原则的关键点是抽象化,而基类与派生类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范化;
- 依赖反转原则: 高层次模块不应该依赖于低层次模块,两者都应该依赖于抽象接口;抽象接口不依赖于具体实现,而具体实现应该依赖于抽象接口;
- 接口隔离原则: 使用多个隔离的接口,比使用单个接口要好;
- 迪米特法则: 一个实体应该尽量少地与其他实体发生相互作用,使得系统功能模块相对地独立;
- 合成复用法则: 尽量使用合成/聚合的方式,而不是继承。
设计模式分类
序号 | 模式 & 描述 | 内容 |
---|---|---|
1 | 创建型模式:这些设计模式提供一种在创建对象时隐藏创建逻辑的方式,而不是使用新的运算符直接实例化对象。这使得程序在判断针对某个给定实例应该创建哪些对象更加灵活。 | 简单工厂模式(Simple Factory Pattern)、工厂方法模式(Factory Method Pattern)、抽象工厂模式(Abstract Factory Pattern)、单例模式(Singleton Pattern)、建造者模式(Builder Pattern) |
2 | 结构型模式:这些设计模式关注类和对象的组合。使用继承的概念组合接口和定义组合对象获得新功能。 | 适配器模式(Adapter Pattern)、桥接模式(Bridge Pattern)、过滤器模式(Filter Pattern)、组合模式(Composite Pattern)、装饰器模式(Decorator Pattern)、外观模式(Facade Pattern)、享元模式(Flyweight Pattern)、代理模式(Proxy Pattern) |
3 | 行为型模式:这些模式关注对象间的通信。 | 责任链模式(Chain of Responsibility Pattern)、命令模式(Command Pattern)、解释器模式(Interpreter Pattern)、迭代器模式(Iterator Pattern)、中介者模式(Mediator Pattern)、备忘录模式(Mementor Pattern)、观察者模式(Observer Pattern)、状态模式(State Pattern)、空对象模式(Null Object Pattern)、策略模式(Strategy Pattern)、模板模式(Template Pattern)、访问者模式(Visitor Pattern) |
常用设计模式大致为以上所说,下一篇则开始记录创建型模式的部分。