随笔分类 -  设计模式

设计模式一览表
摘要:1、创建模式:创建模式是对类的实例化过程的抽象化。 1.1、简单工厂模式 1.2、工厂方法模式 (这三种都属于工厂模式) 1.3、抽象工厂模式 1.4、单例模式 1.5、多例模式:多例模式属于单例模式的扩展 1.6、建造模式 1.7、原始类型模式 2、结构模式:结构模式是将类或者对象结合在一起形成更 阅读全文
posted @ 2017-09-18 21:25 顺蝈蝈 阅读(296) 评论(0) 推荐(0)
设计模式(二十八)---调停者模式
摘要:1、简介 调停者模式是对象的行为模式。调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显引用。从而使它们可以较松散地耦合。 当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此独立地变化。 2、调停者模式类图 3、调 阅读全文
posted @ 2017-09-18 21:11 顺蝈蝈 阅读(282) 评论(0) 推荐(0)
设计模式(二十六)---解释器模式
摘要:1、简介 解释器模式是类的行为模式。给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。 它描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发编译器中;在实际应用中,我们可能很少碰到去构造一个语言的文法的情况。 阅读全文
posted @ 2017-09-18 17:06 顺蝈蝈 阅读(240) 评论(0) 推荐(0)
设计模式(二十五)---访问者模式
摘要:1、简介 访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。 2、访问者模式的使用场景 访问者模式表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操 阅读全文
posted @ 2017-09-18 16:21 顺蝈蝈 阅读(182) 评论(0) 推荐(0)
设计模式(二十四)---状态模式
摘要:1、简介 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 状态模式允许一个对象在其内部状态改变时改变其行为,这个对象看上去就像改变了他的类一样 2、状态模式类图 3、状态模式涉及到的角色 从上图可以看出 状态模式涉及到以下几个角色 3.1、抽 阅读全文
posted @ 2017-09-18 12:06 顺蝈蝈 阅读(226) 评论(0) 推荐(0)
设计模式(二十三)---备忘录模式
摘要:1、简介 备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式。 备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉(Capture)住,并外部化,存储起来, 从而可以在将来合适的时候把这个 阅读全文
posted @ 2017-09-15 17:52 顺蝈蝈 阅读(362) 评论(0) 推荐(0)
设计模式(二十二)---命令模式
摘要:1、简介 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。 命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 2、命令模式类图 3、命令模式涉及 阅读全文
posted @ 2017-09-15 12:06 顺蝈蝈 阅读(131) 评论(0) 推荐(0)
设计模式(二十一)---责任链模式
摘要:1、简介 责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。 发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。 2 阅读全文
posted @ 2017-09-15 10:27 顺蝈蝈 阅读(174) 评论(0) 推荐(0)
设计模式(二十)---迭代器模式
摘要:1、简介 迭代器模式又叫游标模式,是对象的行为模式,迭代器模式可以顺序的访问一个聚集中的元素而不必暴露聚集的内部表象 2、迭代器模式的类图 3、迭代器模式涉及到的角色 从上图可以看出,迭代器模式涉及到以下几个角色 3.1、抽象迭代器角色:它定义了遍历元素所需要的接口 3.2、具体迭代器角色:实现抽象 阅读全文
posted @ 2017-09-14 17:50 顺蝈蝈 阅读(166) 评论(0) 推荐(0)
设计模式(十九)---观察者模式
摘要:1、简介 观察者模式是对象的行为模式,又叫发布-订阅模式,它定义了一对多的依赖关系,让多个观察者同时监听一个主题对象,这个主题对象在发生变化时,会通知所有的观察者,使他们能自己更新自己 2、观察者模式类图 3、观察者模式涉及的角色 从上图可以看出,观察者模式涉及到以下四个角色 3.1、抽象主题角色: 阅读全文
posted @ 2017-09-14 16:32 顺蝈蝈 阅读(239) 评论(0) 推荐(0)
设计模式(十八)---模板方法模式
摘要:1、简介 模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。 不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。 2、模板方法结构 模板方法模式是所有模式中最为常 阅读全文
posted @ 2017-09-14 12:24 顺蝈蝈 阅读(171) 评论(0) 推荐(0)
设计模式(十七)---策略模式
摘要:1、简介 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 2、策略模式的结构 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通 阅读全文
posted @ 2017-09-13 17:37 顺蝈蝈 阅读(265) 评论(0) 推荐(0)
设计模式(十六)---不变模式
摘要:1、简介 一个对象的状态在对象被创建之后就不再变化,这就是所谓的不变模式。 2、不变模式的结构 不变模式可增强对象的强壮型(robustness)。不变模式允许多个对象共享某一个对象,降低了对该对象进行并发访问时的同步化开销。 如果需要修改一个不变对象的状态,那么就需要建立一个新的同类型对象,并在创 阅读全文
posted @ 2017-09-13 16:35 顺蝈蝈 阅读(183) 评论(0) 推荐(0)
设计模式(十五)---桥梁模式
摘要:1、简介 桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。 1.1、抽象化 :存在于多个实体中的共同的概念性联系,就是抽象化。作为一个过程,抽象化就是忽略一些信息,从而把不同的 阅读全文
posted @ 2017-09-13 12:21 顺蝈蝈 阅读(1343) 评论(1) 推荐(0)
设计模式(十四)---门面模式
摘要:1、简介 门面模式通过提供一个可以访问所有接口的一个接口,从而达到隐藏系统复杂性的目的 2、简单的示意图 3、涉及的角色 3.1、门面角色:这个角色知晓所有相关的子系统的功能和责任 3.2、子系统角色:如上图的模块A、B、C 子系统可以被客户端直接调用,也可以被门面角色调用。子系统不知道门面的存在 阅读全文
posted @ 2017-09-12 17:17 顺蝈蝈 阅读(133) 评论(0) 推荐(0)
设计模式(十三)---享元模式
摘要:1、简介 享元模式是对象的结构模式,以共享的方式高效的支持大量的细粒度对象,也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。 享元对象做到共享的关键是区分内蕴状态和外蕴状态 1.1、内蕴状态:内蕴状态是存储在享元对象内部的,不会随环境改变而发生改变的。 阅读全文
posted @ 2017-09-12 16:25 顺蝈蝈 阅读(201) 评论(0) 推荐(0)
设计模式(十二)---代理模式
摘要:1、简介 代理模式是对象的结构模式,代理模式给某个对象提供一个代理对象,并由代理对象控制对原对象的引用。 2、代理模式的分类 2.1、按照目的分类:远程代理,虚拟代理,Copy-on-Write代理,保护代理,Cache代理,防火墙代理,同步化代理,智能引用代理。 2.2、按照实现方式分类:动态代理 阅读全文
posted @ 2017-09-12 10:14 顺蝈蝈 阅读(138) 评论(0) 推荐(0)
设计模式(十一)---装饰者模式
摘要:1、简介 装饰者模式又叫包装模式(wrapper),装饰者模式以对客户端透明的方式扩展对象的功能,是继承关系的一种替代方案。 装饰者与被装饰者拥有共同的超类,继承的目的是继承类型,而不是行为。 2、装饰者模式的各个角色 2.1、抽象构件角色 :在下面例子中为Human抽象接口,目的是为了规范准备接收 阅读全文
posted @ 2017-09-11 12:22 顺蝈蝈 阅读(199) 评论(0) 推荐(0)
设计模式(十)---合成模式
摘要:1、简介 合成模式属于对象的结构模式,有时又叫做“部分——整体”模式。合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式可以使客户端将单纯元素与复合元素同等看待。 2、合成模式 合成模式把部分和整体的关系用树结构表示出来。合成模式使得客户端把一个个单独的成分对象和由它们复合而成的合 阅读全文
posted @ 2017-09-08 15:37 顺蝈蝈 阅读(463) 评论(0) 推荐(0)
设计模式(九)---缺省适配器模式
摘要:1、简介 缺省适配模式为一个接口提供缺省实现,这样的类型可以从这个缺省实现进行扩展,而不必从原有接口进行扩展。当原接口中定义的方法太多,而其中大部分又不被需要时,这种模式非常实用。 由缺省适配器类直接实现目标接口,并为所有方法提供缺省的空实现。用户类就只需要继承适配器类,只实现需要的方法就行了。 2 阅读全文
posted @ 2017-09-07 12:09 顺蝈蝈 阅读(1118) 评论(0) 推荐(0)