![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
william_919
这个作者很懒,什么都没留下…
展开
-
十七、设计模式之中介者模式(行为型)
一、代理模式代理模式概述Proxy模式又叫做代理模式,是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。代理模式的结构代理模式的角色与职责subject(抽象主题角色):真实主题与代理...原创 2019-03-19 22:13:44 · 203 阅读 · 0 评论 -
十一、设计模式之代理模式(结构型)(重要)
十一、代理模式(结构型)(重要)代理模式概述Proxy模式又叫做代理模式,是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。代理模式的结构代理模式的角色与职责subject(抽象主题角...原创 2019-03-28 10:20:03 · 107 阅读 · 0 评论 -
十二、设计模式之外观模式(结构型)
十二、外观模式(结构型)外观模式概述Facade模式也叫外观模式,是由GoF提出的23种设计模式中的一种。Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面被称作facade。外观模式的角色和职责Facade:为调用方定义简单的调用接口。Clients:调用者。通过Facade接口调用提供某功能的内部类群。Packages...原创 2019-03-28 10:21:35 · 136 阅读 · 0 评论 -
十三、设计模式之组合模式(结构型)
十三、组合模式(结构型)组合模式概述Composite模式也叫组合模式,是构造型的设计模式之一。通过递归手段来构造树形的对象结构,并可以通过一个对象来访问整个对象树。组合(Composite)模式的其它翻译名称也很多,比如合成模式、树模式等等。在《设计模式》一书中给出的定义是:将对象以树形结构组织起来,以达成“部分-整体”的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。从定义中...原创 2019-03-28 10:22:08 · 360 阅读 · 0 评论 -
十四、设计模式之桥接模式(构造型)
十四、桥接模式(构造型)桥接模式概述Bridge 模式又叫做桥接模式,是构造型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。举个例子,我们都知道,汽车有不同的发动机,有油的,有电...原创 2019-03-28 10:22:49 · 209 阅读 · 0 评论 -
十五、设计模式之适配器模式(结构型)(重要)
十五、适配器模式(结构型)(重要)适配器模式概述Adapter模式也叫适配器模式,是构造型模式之一,通过Adapter模式可以改变已有类(或外部类)的接口形式。举个例子:我们使用电脑,家里的电源是220V的,而我们的电脑是18V的,这时如果我们直接把电源连接电脑,一定会导致电脑被烧坏,因为电源电压太高了,这时我们就需要一个电源适配器,连接在电源与电脑之间,通过适配器进行一个降压,来保证电脑的...原创 2019-03-28 10:24:28 · 293 阅读 · 0 评论 -
十六、设计模式之解释器模式(行为型)
十六、解释器模式(行为型)解释器模式Interpreter模式也叫解释器模式,是行为模式之一,它是一种特殊的设计模式,它建立一个解释器,对于特定的计算机程序设计语言,用来解释预先定义的文法。简单地说,Interpreter模式是一种简单的语法解释器构架。解释器模式应用场景当有一个语言需要解释执行, 并且你可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式。而当存在以下情况时该模式效...原创 2019-03-28 10:25:00 · 167 阅读 · 0 评论 -
十八、设计模式之职责链模式(行为型)
十八、职责链模式(行为型)职责链模式概述Chain of Responsibility(CoR)模式也叫职责链模式、责任链模式或者职责连锁模式,是行为模式之一,该模式构造一系列分别担当不同的职责的类的对象来共同完成一个任务,这些类的对象之间像链条一样紧密相连,所以被称作职责链模式。职责链模式的应用场景例1:比如客户Client要完成一个任务,这个任务包括a,b,c,d四个部分。首先客户Cl...原创 2019-03-28 10:29:30 · 236 阅读 · 0 评论 -
十九、设计模式之迭代模式(行为型)
十九、迭代模式(行为型)迭代模式概述Iterator模式也叫迭代模式,是行为模式之一,它把对容器中包含的内部对象的访问委让给外部类,使用Iterator(遍历)按顺序进行遍历访问的设计模式。迭代模式使用比较少,JDK集合也提供了Iterator的具体实现,可以直接拿来用,不必自己实现在应用Iterator模式之前,首先应该明白Iterator模式用来解决什么问题。或者说,如果不使用Iter...原创 2019-03-29 09:15:36 · 289 阅读 · 0 评论 -
二十、模板方法模式(行为型)
20、模板方法模式(行为型)模板方法模式概述Template Method模式也叫模板方法模式,是行为模式之一,它把具有特定步骤算法中的某些必要的处理委让给抽象方法,通过子类继承对抽象方法的不同实现改变整个算法的行为。模板方法模式的应用场景Template Method模式一般应用在具有以下条件的应用中:具有统一的操作步骤或操作过程具有不同的操作细节存在多个具有同样操作步骤的应用场...原创 2019-03-29 09:19:23 · 109 阅读 · 0 评论 -
二十一、备忘录模式(行为型)
21、备忘录模式(行为型)备忘录模式概述Memento模式也叫备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是GoF的23种设计模式之一,属于行为模式,它的作用是保存对象的内部状态,并在需要的时候(undo/rollback)恢复对象以前的状态。在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。...原创 2019-03-29 09:20:34 · 164 阅读 · 0 评论 -
二十二、状态模式(行为型)
22、状态模式(行为型)状态模式概述State模式也叫状态模式,是行为设计模式的一种。State模式允许通过改变对象的内部状态而改变对象的行为,这个对象表现得就好像修改了它的类一样。根据这个概念,我们举个例子public class Behavior { private int time; public int getTime() { return tim...原创 2019-03-29 09:21:23 · 199 阅读 · 0 评论 -
九、设计模式之观察者模式(行为型)(重要)
九、观察者模式(行为型)(重要)观察者模式概述Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。Observer模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状态同步。观察者模式的结构观察者模式的角色和职责Subject(被观察者)被观察的对象。当需要被观察的状态发生变化时,需要通知...原创 2019-03-28 10:18:04 · 159 阅读 · 0 评论 -
八、设计模式之策略模式(行为型)
八、策略模式(行为型)策略模式概述Strategy模式也叫策略模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略)。Strategy模式主要用来平滑地处理算法的切换 。举个例子:假如有两个加密算法,我们分别调用他们,之前我们可以这么写先写一个算法接口public inter...原创 2019-03-28 10:17:13 · 152 阅读 · 0 评论 -
设计模式之【适配器模式,装饰模式,代理模式异同】
一、适配器模式,装饰模式,代理模式异同在使用适配器模式的时候,我们必须同时持有原对象,适配对象,目标对象。。。。装饰器模式特点在于增强,他的特点是被装饰类和所有的装饰类必须实现同一个接口,而且必须持有被装饰的对象,可以无限装饰。代理模式的特点在于隔离,隔离调用类和被调用类的关系,通过一个代理类去调用。总的来说就是如下三句话:1 适配器模式是将一个类(a)通过某种方式转换成另一个类(b...转载 2019-03-19 21:06:51 · 239 阅读 · 0 评论 -
二十四、访问者模式(行为型)
LinkedListLinkedList底层使用的双端链表,即每个节点既包含指向其后继的引用也包括指向其前驱的引用,LinkedList实现了List接口,继承了AbstractSequentialList类,在频繁进行插入以及删除的情况下效率较高。LinkedList使用较多的是add、get和remove,源码的分析也将对这三个方法进行分析。add方法先看add方法:public b...原创 2019-03-19 23:50:54 · 183 阅读 · 0 评论 -
设计模式前言:设计模式五大原则
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u011116672/article/details/80213850 </div> <div id="content_views" ...原创 2019-03-18 18:03:59 · 824 阅读 · 0 评论 -
十、设计模式之享元模式(结构型)
简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例,简单来说就是,通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。首先举个例子:创建两个类,一个...原创 2019-03-19 10:11:15 · 126 阅读 · 0 评论 -
一、设计模式之简单工厂模式(重要)(创建型)
一、简单工厂模式(重要)(创建型)简单工厂模式概述简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例,简单来说就是,通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工...原创 2019-03-27 11:01:52 · 197 阅读 · 0 评论 -
二、设计模式之工厂方法模式(重要)(创建型)
二、工厂方法模式(FACTORY METHOD)(重要)(创建型)工厂方法模式概述工厂方法模式(FACTORY METHOD)同样属于一种常用的对象创建型设计模式,又称为多态工厂模式,此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。它的核心结构有四个角色,分别是抽象工厂,具体工厂,抽象产品,具体产品。工厂方法(F...原创 2019-03-27 11:02:50 · 150 阅读 · 0 评论 -
三、设计模式之抽象工厂模式(创建型)
三、抽象工厂模式(创建型)抽象工厂模式概述抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。产品族是指位于不同产品等级结构中,功能相关联的产品组成的家族。一般是位于不同的等级结构中的相同位置上。显然,每一个产品族中含...原创 2019-03-27 11:06:04 · 202 阅读 · 0 评论 -
四、设计模式之单例模式(重要)(创建型)
四、单例模式(创建型)单例模式概述单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的一个实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。其实,GoF对单例模式的定义是:保证一个类,只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。为什么要用单例模式这是因为在应用系统开发时,我们常常有以下需求:在多个线程之间,比如servlet环境,共享同...原创 2019-03-27 11:23:19 · 144 阅读 · 0 评论 -
五、设计模式之原型模式(创建型)
五、原型模式(创建型)原型模式概述原型(Prototype)模式是一种对象创建型模式,他采取复制原型对象的方法来创建对象的实例。使用原型模式创建的实例,具有与原型一样的数据。原型模式的特点由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。目标对象是原型对象的一个克隆。也就是说,通过原型模式创建的对象,不仅仅与原型对象具有相同的结构,还与原型对象具有相同的值。根据...原创 2019-03-27 11:23:58 · 143 阅读 · 0 评论 -
六、设计模式之建造者模式(创建型)
六、建造者模式(创建型)建造者模式概述Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。建造者模式的结构角色在这样的设计模式中,有以下几个角色:builder:为创建一个产品对象的各个部...原创 2019-03-27 11:25:22 · 229 阅读 · 0 评论 -
七、设计模式之装饰者模式(创建型)
八、装饰者模式(创建型)装饰者模式概述装饰( Decorator )模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。他是23种设计模式之一,英文叫Decorator Pattern,又叫装饰者模式。装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。为什么要使用装饰模式多...原创 2019-03-28 10:16:12 · 129 阅读 · 0 评论 -
二十三、命令模式(行为型)
23、命令模式命令模式概述Command模式也叫命令模式 ,是行为设计模式的一种。Command模式通过被称为Command的类封装了对目标对象的调用行为以及调用参数。命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。为什么使用...原创 2019-03-29 09:22:07 · 220 阅读 · 0 评论