关于设计模式的创建型、结构型和行为型
设计模式主要分三个类型:创建型、结构型和行为型。
其中创建型有:
一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点
二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。
三、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到了子类。
四、Builder,建造模式:将一个复杂对象的构建与他的表示相分离,使得同样的构建过程可以创建不同的表示。
五、Prototype,原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象。
行为型有:
六、Iterator,迭代器模式:提供一个方法顺序访问一个聚合对象的各个元素,而又不需要暴露该对象的内部表示。
七、Observer,观察者模式:定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知自动更新。
八、Template Method,模板方法:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,TemplateMethod使得子类可以不改变一个算法的结构即可以重定义该算法得某些特定步骤。
九、Command,命令模式:将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队和记录请求日志,以及支持可撤销的操作。
十、State,状态模式:允许对象在其内部状态改变时改变他的行为。对象看起来似乎改变了他的类。
十一、Strategy,策略模式:定义一系列的算法,把他们一个个封装起来,并使他们可以互相替换,本模式使得算法可以独立于使用它们的客户。
十二、Chain of Responsibility,职责链模式:使多个对象都有机会处理请求,从而避免请求的送发者和接收者之间的耦合关系
十三、Mediator,中介者模式:用一个中介对象封装一些列的对象交互。
十四、Visitor,访问者模式:表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这个元素的新操作。
十五、Interpreter,解释器模式:给定一个语言,定义他的文法的一个表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
十六、Memento,备忘录模式:在不破坏对象的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。
结构型有:
十七、Composite,组合模式:将对象组合成树形结构以表示部分整体的关系,Composite使得用户对单个对象和组合对象的使用具有一致性。
十八、Facade,外观模式:为子系统中的一组接口提供一致的界面,fa?ade提供了一高层接口,这个接口使得子系统更容易使用。
十九、Proxy,代理模式:为其他对象提供一种代理以控制对这个对象的访问
二十、Adapter,适配器模式:将一类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作那些类可以一起工作。
二十一、Decrator,装饰模式:动态地给一个对象增加一些额外的职责,就增加的功能来说,Decorator模式相比生成子类更加灵活。
二十二、Bridge,桥模式:将抽象部分与它的实现部分相分离,使他们可以独立的变化。
二十三、Flyweight,享元模式
除了以上23个模式之外,根据<<java与模式>>中的分类,还有4种模式,DefaultAdapter 缺省适配器模式,SimpleFactory 简单工厂模式,Multiton 多例模式, Immutable 不变模式
转载于:https://www.cnblogs.com/technotes/p/4534799.html
关于设计模式的创建型、结构型和行为型相关推荐
- Java设计模式分为创建模式, 结构模式, 行为模式 3种类型
Java设计模式之创建模式包括: Factory, 工厂模式 Singleton, 单例模式 Builder, 建造模式 Prototype, 原型模式 Java设计模式之结构模 ...
- C# 设计模式:创建型
开个坑,接下来写完设计模式,其实这个东西一直很重要,但是自己却不重视,直到在很多地方吃了亏才想起来,我之前看起来设计模式有点"无所谓",好像代码知道具体的技术和知识点就可以包打天下 ...
- 精通JavaScript--05设计模式:创建型
使用设计模式的要诀时把它们看作你编程工具箱中的多种工具,每一种都有一个特定的用途.在尝试应用设计模式至代码之前,你首先要熟悉各种现有的设计模式以及每一种所应用的场合(应用了错误的工具将导致不必要的麻烦 ...
- 设计模式 创建模式 结构模式和行为模式
创建型模式关注对象的创建 结构型模式关注类或对象之间的组织关系 行为型模式关注类或对象间的交互和职责分配(就是用来干什么) 模式从本质上都是简化和分解类或对象,使易于扩展或封装性更好:一些相似的模式的 ...
- 清华大学 陈晨 计算机,TNet基于树型结构集群工具软件通信协议.PDF
第2卷 第6期 444 中国科技论文在线 SCIENCEPAPER ONLINE 2007 年 6 月 TNet :基于树型结构的集群工具软件通信协议 陈 晨,陈文光,郑纬民 ( 清华大学计算机系, ...
- java设计模式中不属于创建型模式_23种设计模式第二篇:java工厂模式定义:工厂模式是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式...
23种设计模式第二篇:java工厂模式 定义: 工厂模式是 Java 中最常用的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 工厂模式主要是为创建对象提供过渡接口, ...
- Java学习--设计模式之创建型模式
一.简介 创建型模式:这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象.这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活.创建型模式包括:工 ...
- 北风设计模式课程---创建模式、结构模式、行为模式的区别
北风设计模式课程---创建模式.结构模式.行为模式的区别 一.总结 一句话总结: 创建模式:[关注对象的创建]:创建型模式,就是创建对象的模式,抽象了实例化的过程. 结构模式:结构型模式是为解决[怎样 ...
- 备战面试日记(3.2) - (设计模式.23种设计模式之创建型模式)
本人本科毕业,21届毕业生,一年工作经验,简历专业技能如下,现根据简历,并根据所学知识复习准备面试. 记录日期:2022.1.6 大部分知识点只做大致介绍,具体内容根据推荐博文链接进行详细复习. 文章 ...
最新文章
- js中内置对象Math()常用方法笔记
- HTTP代理神器Fidder
- Java Maven学习 - 1
- python教程:%s、%d、%f的使用
- Vue之旅-Vue环境搭建
- 逻辑斯蒂回归_逻辑斯蒂回归详细解析 | 统计学习方法学习笔记 | 数据分析 | 机器学习...
- Centos上虚拟机搭建
- JAVA-初步认识-第六章-类与对象的关系(细节)
- [转]C语言嵌入式系统编程修炼之背景篇
- UML类图关系全面剖析
- MS SQL Server 事务回滚处理!
- 在线诺基亚短信图片生成器工具
- yolov5 数据集预处理(多文件夹同时提取文件并分类)(同时随机提取一定比例的图片和txt文件到指定文件)
- python提取文件中含某一字符串的行,并写入新的文件中
- ctf-2020-12-07
- 福建农林大学计算机课程表,福建农林大学金山学课程表.doc
- 项目成本管理名词解析
- 出错信息:Incorrect string value: '\xE4\xBD\xA0\xE5\xA5\xBD' for column 'username'
- java方法怎么用?【java方法使用教程】
- 数据中心水蓄冷削峰填谷的经济性分析