设计模式分类简介

设计模式简单介绍,之后会做出具体介绍

Posted by Zicon on March 12, 2017

“设计模式之分类简介”

前言

本系列博客是Zicon对所学的GoF设计模式的一次总结。


正文

创建型模式

模式名称 定义
简单工厂模式 根据传入参数的不同返回不同类的实例。PS:不属于GoF设计模式
工厂方法模式 将类的实例化操作延迟到子类中完成,即由子类决定实例化哪个类
抽象工厂模式 提供了一个创建一系列相关或相互依赖对象的接口,而无须指定他们具体的类
建造者模式 将一个复杂对象的构造与表示分离,使得同样的构造可以创建不同的表示
原型模式 用原型实例指定创建对象的种类,然后通过复制这个原型对象来创建新的对象
单例模式 保证一个类只有一个实例,并提供一个访问其的全局访问点

结构型模式

模式名称 定义
适配器模式 将接口转换成客户希望的另一个接口,从而使得接口不兼容的类可以一起工作
桥接模式 将抽象部分与它的实现部分分离,使他们可以独立的变化
组合模式 通过组合多个对象形成树形结构以表示“整体-部分”的结构层次,对单个对象和组合对象的使用具有一致性
装饰模式 动态地给一个对象增加一些额外的职责
外观模式 为复杂的子系统提供一个一致的接口
享元模式 通过运用共享技术有效地支持大量细粒度对象的复用
代理模式 给某对象提供代理,由代理对象控制对原对象的引用

行为型模式

模式名称 定义
职责链模式 避免请求者与接受者耦合,让多个对象都有可能接收请求,将这些对象连接成链,并沿链传递请求直到有对象处理他
命令模式 将一个请求封装为一个对象,从而使得请求调用者和请求接收者解耦
解释器模式 描述如何将语言定义一个文法,如何在该语言中表示一个句子,以及如何解释这些句子
迭代器模式 提供方法访问聚合对象,而不用暴露这个对象的内部表示
中介者模式 通过中介对象封装一系列的对象交互,使得各对象不需要显式地相互引用,从而使得其耦合松散,而且可以独立地改变他们之间的交互
备忘录模式 在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,可以在以后将对象恢复到原先保存的状态
观察者模式 定义了对象间一种一对多的依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新
状态模式 允许一个对象在其内部状态改变时改变其行为
策略模式 定义一系列算法,并将每一个算法封装在一个类中,并让他们可以相互替换,算法独立于用户而变化
访问者模式 表示一个作用于某对象结构中各元素的操作,使用户可以在不改变各元素的类的前提下定义作用于这些元素的新操作
模板方法模式 定义一个操作中算法的骨架,而将一些步骤延迟到子类中

后记

以上便是关于GoF23种设计模式的简单说明,之后Zicon会慢慢更新这些模式的详细介绍(大概)。