设计模式——总结
Posted BridgeGeorge
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式——总结相关的知识,希望对你有一定的参考价值。
设计模式
一共23种,创建型,结构型,行为型。
创建型
概念
这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。
分类
- 抽象工厂模式
- 构造者模式
- 工厂方式模式
- 原型模式
- 单例模式
结构型
概念
这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。
分类
- 适配器模式
- 桥接模式
- 组合模式
- 装饰器模式
- 外观模式
- 享元模式
- 代理模式
行为型
概念
这些设计模式特别关注对象之间的通信。
分类
- 责任链模式
- 命令模式
- 解释器模式
- 迭代器模式
- 中介者模式
- 备忘录模式
- 观察者模式
- 状态模式
- 策略模式
- 模板方法模式
- 访问者模式
一些易混淆的模式的区别
工厂方法模式/抽象工厂模式
工厂方法模式:封装对象产生细节,产出目标是类的一个单一对象。
抽象工厂模式:每个抽象工厂的实现类 负责产出某一类型的产品簇;比如
操作系统抽象工厂,每个工厂定义一堆比如 文件管理系统 窗口管理的不同的功能模块,但是每个平台又不一样,具体实现类 Windows 工厂,Mac OS 工厂,
策略模式/状态模式/适配器模式
策略模式:策略类对客户端是暴露的,策略是外界给的,策略怎么变,是调用者考虑的事情,系统只是根据所给的策略做事情。
状态模式:状态是系统自身的固有的,由系统本身控制,调用者不能直接指定或改变系统的状态转移。
适配器模式:通过适配接口 抽象将原始类方法进行转换成通用方法 。
代理模式/装饰者模式
代理模式:对原始对象施加控制,可以不持有原有类的对象引用;
装饰者模式:增强原有类的功能,持有原有类的对象引用,是对继承方式的一种替代方法;
中介者模式/外观模式 /桥接模式
外观模式:对外提供统一API,避免外部对内部子系统的直接调用,降低复杂度和使用成本。
中介者模式:是用一个中介对象来封装一系列内部对象的交互行为,用于解耦。
桥接模式: 分离了一个类存在两个独立变化的维度,且这两个维度都需要进行扩展。例如不同的形状和不同的颜色,通过中间层类 连接两个抽象类来建立关联。
以上是关于设计模式——总结的主要内容,如果未能解决你的问题,请参考以下文章