Skip to content

设计模式 ​

简介 ​

设计模式(Design Pattern)是软件开发中常见问题的可重用解决方案。它不是具体的代码,而是一种思想、模板或最佳实践,描述了如何在特定场景下解决设计问题。

优点

  • 设计模式已经成为了一种解决重复出现的问题的工业标准,所以使用设计模式更省时省力。
  • 设计模式可以提升代码重用性,编写鲁棒性更好、维护性更好的代码。
  • 因为设计模式已经定义成了标准,所以更容易理解和调试。可以加速开发,新成员也更容易理解。

分类

可分为创建型(Creational),结构型(Structural) 和行为型(Behavioral) 三种。

  • 创建型模式:主要用于描述如何创建对象
  • 结构型模式:主要用于描述如何实现类或对象的组合
  • 行为型模式:主要用于描述类或对象怎样交互以及怎样分配职责

设计模式的7大原则 ​

设计模式有7大原则,目的只有一个:降低对象之间的耦合,增加程序的可复用性、可扩展性和可维护性。

设计原则归纳目的
开闭原则对扩展开放,对修改关闭降低维护带来的新风险
依赖倒置原则高层不应该依赖低层,要面向接口编程更利于代码结构的升级扩展
单一职责原则一个类只干一件事,实现类要单一便于理解,提高代码的可读性
接口隔离原则一个接口只干一件事,接口要精简单一功能解耦,高聚合、低耦合
迪米特法则不该知道的不要知道,一个类应该保持对其它对象最少的了解,降低耦合度只和朋友交流,不和陌生人说话,减少代码臃肿
里氏替换原则不要破坏继承体系,子类重写方法功能发生改变,不应该影响父类方法的含义防止继承泛滥
合成复用原则尽量使用组合或者聚合关系实现代码复用,少使用继承降低代码耦合

GoF 设计模式 ​

GoF 是 Gang of Four(四人帮) 的缩写,指 1994 年出版的经典书籍《设计模式:可复用面向对象软件的基础》(Design Patterns: Elements of Reusable Object-Oriented Software)的四位作者。

创造型模式 ​

关注对象的创建机制,增加系统的灵活性和复用性。

模式说明
单例模式保证一个类只有一个实例
工厂方法模式定义创建对象的接口,让子类决定实例化哪个类
抽象工厂模式创建相关或依赖对象的家族
建造者模式分步骤构建复杂对象
原型模式通过复制现有对象创建新对象

结构型模式 ​

关注类和对象的组合,形成更大的结构。

模式说明
适配器模式让不兼容的接口协同工作
装饰器模式动态给对象添加职责
代理模式为其他对象提供代理以控制访问
外观模式为子系统提供统一接口
组合模式将对象组合成树形结构
桥接模式将抽象与实现分离
享元模式共享细粒度对象以节省内存

行为模式 ​

关注对象间的通信和职责分配。

模式说明
观察者模式对象间一对多依赖,自动通知
策略模式定义一系列算法,可互换使用
责任链模式请求沿处理链传递
命令模式将请求封装为对象
模板方法模式定义算法骨架,子类实现细节
状态模式对象内部状态改变时行为改变
访问者模式在不改变元素类的前提下定义新操作
中介者模式用中介对象封装对象交互
备忘录模式保存和恢复对象状态
解释器模式定义语言文法并解释句子
迭代器模式顺序访问集合元素

如有转载或 CV 请标注本站原文地址