随笔分类 -  设计模式

摘要:十一宅了,也没学习看啥书,所有时间花在了围棋上,虽然很颓废,不过令人欣慰的是居然升了3级,现在是6k水平,之前晚上下的多,停在9k挺长时间的,居然在10.1突破了,这么看来我能升段的目标还是可能实现的,这么看自信还真是挺重要的,而我一直不算个自信的人,本来打算10.1假期完成这个设计模式总结的,但是 阅读全文
posted @ 2017-10-13 11:12 重名 阅读(241) 评论(0) 推荐(0)
摘要:定义: 表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。 UML类图: 具体代码: 模块说明:Visitor:抽象类或者接口,声明visit方法中的参数定义哪些对象是可以被访问的。ConcreteVisitor:具体访问者实现的对象,实现被添加 阅读全文
posted @ 2017-09-29 11:28 重名 阅读(194) 评论(0) 推荐(0)
摘要:定义: 定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 UML类图: 具体代码: 模块说明: AbstractClass:抽象类,定义整个流程算法的骨架。ConcreteClass:具体类,实现流程算法里的具体步骤。 阅读全文
posted @ 2017-09-14 16:47 重名 阅读(248) 评论(0) 推荐(0)
摘要:定义(百度百科): 策略模式是指对一系列的算法定义,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 具体代码: 模块说明: Context:是使用不同算法的角色,它在解决某个问题(即实现某个方法)时可以采用多种策略。在环境类中维持一个对抽象策略类的引用 阅读全文
posted @ 2017-09-12 15:34 重名 阅读(215) 评论(0) 推荐(0)
摘要:定义(百度百科): 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 UML类图: 具体代码: 模块说明: Context:它定义了客户需要的接口并维护一个具体状态角色(State)的实例,将与状态相关的操作交给当前的ConcreteState对象来处理 State:定义一个 阅读全文
posted @ 2017-09-04 16:47 重名 阅读(216) 评论(0) 推荐(0)
摘要:定义(百度百科): 观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常 阅读全文
posted @ 2017-08-31 16:51 重名 阅读(270) 评论(0) 推荐(0)
摘要:定义(百度百科): 在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 UML类图: 具体代码: 各模块说明:Memento:备忘录,存储Originator的对象状态,存储哪些应该由Originator决定。Originator:原 阅读全文
posted @ 2017-08-30 16:03 重名 阅读(268) 评论(0) 推荐(0)
摘要:定义(并非来自百度百科,百度没收录此词条...): 用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。 UML类图: 具体代码: 模块说明:Mediator:该接 阅读全文
posted @ 2017-08-28 17:21 重名 阅读(217) 评论(0) 推荐(0)
摘要:定义(百度百科): 迭代器模式(Iterator Pattern)提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标(Cursor)。迭代器模式是一种对象行为型模式。 UML类图: 具体代码: 模块说明:Iterator:它定义了访问和遍历元素的接口,声明了用于遍历数据元素的方法 阅读全文
posted @ 2017-08-22 16:35 重名 阅读(150) 评论(0) 推荐(0)
摘要:定义(From百度百科): Interpreter(解释器)模式是一种特殊的设计模式,它建立一个解释器(Interpreter),对于特定的计算机程序设计语言,用来解释预先定义的文法。简单地说,Interpreter模式是一种简单的语法解释器构架。 UML类图: 抽象具体代码: 模块说明:Abstr 阅读全文
posted @ 2017-08-21 18:00 重名 阅读(281) 评论(0) 推荐(0)
摘要:定义(百度百科):在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式 阅读全文
posted @ 2017-08-17 16:15 重名 阅读(212) 评论(0) 推荐(0)
摘要:定义(百度百科): 责任链模式是一种设计模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。 阅读全文
posted @ 2017-08-06 16:34 重名 阅读(402) 评论(0) 推荐(0)
摘要:定义(百度百科): 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 UML类图: 具体代码: 模块说明:Subject抽象主题:声明真实主题和代理主题的共同接口。RealSubject真实主题 阅读全文
posted @ 2017-08-03 15:01 重名 阅读(284) 评论(0) 推荐(0)
摘要:定义(百度百科): 享元模式(英语:Flyweight Pattern)是一种软件设计模式。 它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当 阅读全文
posted @ 2017-07-27 15:33 重名 阅读(276) 评论(0) 推荐(0)
摘要:定义(百度百科):外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。 UML类图: 具体代码: 模块说明:Facade: 客户端通过此角色能了解到子系统提供的功能,此角色会委派任务到相应的子系统中去 SubSystem: 子系统不 阅读全文
posted @ 2017-07-26 10:47 重名 阅读(222) 评论(0) 推荐(0)
摘要:定义(百度百科): 装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 UML类图: 具体代码: 模块说明:Component:组件对象接口,可以动态的增加职责。ConcreteComponent:组件的具体对象,实现组件 阅读全文
posted @ 2017-07-24 18:04 重名 阅读(259) 评论(0) 推荐(0)
摘要:定义(百度百科):将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 UML类图: 具体代码: 模块说明: Component(抽象构件):Component是组合中的对象声明抽象类,在适当的情况下,实现所有类共有接口的默认行为。用于访问和管理C 阅读全文
posted @ 2017-07-14 17:31 重名 阅读(329) 评论(0) 推荐(0)
摘要:定义(百度百科): 将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。 UML类图: 具体的代码: 模块说明: Abstraction:定义抽象类的接口。 维护一个指向Implementor 阅读全文
posted @ 2017-07-11 21:41 重名 阅读(373) 评论(0) 推荐(0)
摘要:定义(百度百科): 在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。 UML类图: 具体代码: 举例说明: 此模式日常的例子,最常见的就是各种各样的转接 阅读全文
posted @ 2017-07-11 15:15 重名 阅读(286) 评论(0) 推荐(0)
摘要:定义(From 百度百科) 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 UML类图: 具体代码: 各部分说明:Prototype 原型类实现Cloneable接口。ConcretePrototype1 原型类Prototype的子类 模式详细说明:通过克隆复制一个对象实例克隆出 阅读全文
posted @ 2017-06-25 21:30 重名 阅读(242) 评论(0) 推荐(0)