设计模式——总结

Posted BridgeGeorge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式——总结相关的知识,希望对你有一定的参考价值。

设计模式

一共23种,创建型,结构型,行为型。

创建型

概念

这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。

分类

  • 抽象工厂模式
  • 构造者模式
  • 工厂方式模式
  • 原型模式
  • 单例模式

结构型

概念

这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。

分类

  • 适配器模式
  • 桥接模式
  • 组合模式
  • 装饰器模式
  • 外观模式
  • 享元模式
  • 代理模式

行为型

概念

这些设计模式特别关注对象之间的通信。

分类

  • 责任链模式
  • 命令模式
  • 解释器模式
  • 迭代器模式
  • 中介者模式
  • 备忘录模式
  • 观察者模式
  • 状态模式
  • 策略模式
  • 模板方法模式
  • 访问者模式

一些易混淆的模式的区别

工厂方法模式/抽象工厂模式

工厂方法模式:封装对象产生细节,产出目标是类的一个单一对象。
抽象工厂模式:每个抽象工厂的实现类 负责产出某一类型的产品簇;比如
操作系统抽象工厂,每个工厂定义一堆比如 文件管理系统 窗口管理的不同的功能模块,但是每个平台又不一样,具体实现类 Windows 工厂,Mac OS 工厂,

策略模式/状态模式/适配器模式

策略模式:策略类对客户端是暴露的,策略是外界给的,策略怎么变,是调用者考虑的事情,系统只是根据所给的策略做事情。
状态模式:状态是系统自身的固有的,由系统本身控制,调用者不能直接指定或改变系统的状态转移。
适配器模式:通过适配接口 抽象将原始类方法进行转换成通用方法 。

代理模式/装饰者模式

代理模式:对原始对象施加控制,可以不持有原有类的对象引用;
装饰者模式:增强原有类的功能,持有原有类的对象引用,是对继承方式的一种替代方法;

中介者模式/外观模式 /桥接模式

外观模式:对外提供统一API,避免外部对内部子系统的直接调用,降低复杂度和使用成本。
中介者模式:是用一个中介对象来封装一系列内部对象的交互行为,用于解耦。
桥接模式: 分离了一个类存在两个独立变化的维度,且这两个维度都需要进行扩展。例如不同的形状和不同的颜色,通过中间层类 连接两个抽象类来建立关联。

以上是关于设计模式——总结的主要内容,如果未能解决你的问题,请参考以下文章

CGBTN2111-DAY18总结复习

CGBTN2111-DAY18总结复习

CGBTN2111-DAY18总结复习

CGBTN2111-DAY18总结复习

CGBTN2108_DAY17总结复习

门面模式-Facade Pattern(Java实现)