设计模式分类

常用的设计模式分为如下23种模式:

Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

Adapter:将一个类的接口转换成客户希望的另一个接口,使得原来由于接口不兼容而不能一起工作的那些类可以一起工作。

Bridge:将抽象部分与它的实现部分分离,使之可以独立变化。

Chain of Responsibility:为解除请求的发送者和接收者之间的耦合,而使多个对象有机会处理这个请求。将这些请求连成一个链,并沿着这条链传递该请求,直到有个对象处理它。

Command:将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可以取消的操作。

Composite:将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得客户对单个对象和复合对象的使用具有一致性。

Decorator:动态地给一个对象添加一些额外的职责。就扩展功能而言,Decorator模式比生成子类方式更加灵活。

Facade:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,使得这个子系统更加容易使用。

Factory Method:定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method让一个类的实例化延迟到子类。

Flyweight:运用共享技术有效的支持大量细粒度的对象。

Interpreter:给定一个语言,定义它的文法的一种表示,并定义一个解释器用于解释特定文法。

Iterator:提供一种方法顺序访问一个聚合对象中的各种元素,而无需暴露该对象的内部表示。

Mediator:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式相互引用,从而使得耦合松散,可以独立改变相互之间的交互。

Memento:不破坏封装的前提下,捕获对象的内部状态,并在该对象之外保存这个状态。

Observer:定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生变化时依赖于它的所有的对象都得到通知和刷新。

Prototype:用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。

Proxy:为其他对象提供一个代理以控制对这个对象的访问。

Singleton:保证一个类仅有一个实例,并提供一个访问它的全局点。

State:允许一个对象再内部状态改变的时候改变它的行为。对象看起来似乎修改了所属的类。

Strategy:定义一系列的算法,把他们封装起来,并可以相互替换,使算法独立于客户。

Template Method:定义一个操作中的算法骨架,而将这些算法的具体实现的代码延迟到子类中完成。

Visitor:标识一个作用于某对象结构中的各元素的操作,在不改变各元素的类的前提下定义作用于这个元素的新操作。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/photnman/archive/2005/01/17/256951.aspx

转载于:https://www.cnblogs.com/9421/archive/2010/07/11/1775346.html

转载---设计模式分类相关推荐

  1. 设计模式--1(设计模式基础,设计模式基本原则,设计模式分类)

    设计模式基础 模式 在一定环境中解决某一问题的方案,包括三个基本元素–问题,解决方案和环境. 大白话:在一定环境下,用固定套路解决问题. 设计模式 是一套被反复使用.多数人知晓的.经过分类编目的.代码 ...

  2. 架构学习01- 03基本原则和23个设计模式分类

    对接口编程而不是对实现编程. 优先使用对象组合而不是继承. 六大原则 单一职责原则 前端写页面,后端写逻辑. 即: 只负责自己分内之事,让单个模块更简单且复用,高内聚. 开闭原则 实现一个热拔插的效果 ...

  3. 23种设计模式分类+SOLID设计原则+从设计模式角度看MVC框架

    目的:设计模式旨在帮助使用者设计可维护.可扩展.可复用.灵活性好的系统 1.  23中设计模式分类 1.1 创建型模式(5个) 工厂方法模式(Factory Method) 抽象工厂模式 (Abstr ...

  4. 其他系统 对外接口设计_设计模式分类及设计原则

    点击蓝字,关注我们 01 概述 设计模式的基础是:多态. 学习设计模式将有助于更加深入地理解面向对象思想,让你知道: 1.如何将代码分散在几个不同的类中? 2.为什么要有"接口"? ...

  5. 设计模式分类(创建型模式、结构型模式、行为型模式 及其区别)

    1.创建型模式 前面讲过,社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势.因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能 ...

  6. 面向对象-设计模式分类

    设计模式的分类 创建型模式 工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式 适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元模式 行为模式 策略模式.模板 ...

  7. 设计模式学习总结(一)——设计原则与UML统一建模语言

    目录 一.概要 1.1.设计模式定义 1.2.设计模式分类 1.3.设计模式书籍 二.UML统一建模语言 2.1.UML分类 2.2.类图 2.2.1.关联 2.2.2.聚合/组合 2.2.3.依赖 ...

  8. 转载--我与英语技术书籍

    原文:http://www.cnblogs.com/KnightsWarrior/p/EnglishTechBooks.html 我与英语技术书籍 2013-09-05 00:01 by 圣殿骑士,  ...

  9. UML+模式设计概述

    转自于:http://blog.csdn.net/rexuefengye/article/details/13020225 工程学:工程庞大到一定程度必须是用工程学方法,好比直接用水泥沙子建设实用的摩 ...

最新文章

  1. 图像特征点检测与匹配评价准则——量化
  2. 基于自然的灵感算法--元启发式
  3. Failed to resolve: com.android.support:appcompat-v7:27.+ 报错解决方法
  4. 天梯赛 L1-023 输出GPLT (20 分)
  5. [渝粤教育] 四川信息职业技术学院 高频电子技术 参考 资料
  6. 从计算机体系结构方面思考深度学习
  7. 如何优雅地添加MGR节点?
  8. 蚂蚁区块链正式升级为蚂蚁链:首次公布“日活”超1亿
  9. ListView乱谈之ListView中View复用机制的简单解析
  10. ××× L2TP over IPSec 配置
  11. opencv实现人脸识别中过曝光人脸图片处理
  12. 使用数据驱动进行配对交易:简单交易策略
  13. GNU Radio系列教程(四):初级篇之GNU Radio GRC采样率
  14. JVM 宋红康版 : JVM与Java体系结构
  15. Sentinel采用SphO方式定义资源,报错:The order of entry exit can‘t be paired with the order of entry
  16. 超50万人推荐的神奇兼实用App,个个精品,打死也不能错过
  17. Xftp卸载修复报错1628:完成基于脚本的安装失败
  18. 守望先锋显示服务器异常,守望先锋错误代码含义及解决方法
  19. 计算机控制课设串级回路,华北电力大学过程计算机控制课设DDC串级回路PID闭环.doc...
  20. NTLM-relay攻击

热门文章

  1. c语言goto语句用法_硬件工程师必知的10个C语言技巧
  2. oracle没有imp.exe,imp.exe 文件下载
  3. iview 下拉select样式_Vue.js相关:iview实现select tree树形下拉框的示例代码
  4. net空间一次购买终身使用_官方解答关于 Internet Download Manager IDM 终身许可证和1年许可证的相关说明!...
  5. java网络编程阻塞_Java网络编程由浅入深三 一文了解非阻塞通信的图文代码示例详解...
  6. 学机械也想转嵌入式?
  7. 收藏!5V转3.3V电平的19种方法技巧
  8. Vivado中RTL封装IP流程
  9. .net mysql 特殊字符转义字符_MySQL 特殊字符转义问题
  10. pythondevp2p_以太坊GO、JAVA、PYTHON、RUBY、JS客户端介绍