
设计模式-行为型模式
-fly
这个作者很懒,什么都没留下…
展开
-
设计模式之状态模式
定义:允许一个对象在其内部状态变化时改变它的行为,对象看起来似乎修改了它所属的类。类图: 说明:Context表示环境类,它定义了客户应用程序感兴趣的接口,并维护一个ConcreteState子类的实例,这个实例用于定义当前状态;State表示抽象状态类,它定义了一个接口以封装与Context的一个特定状态相关的行为;ConcreteStateA和ConcreteSt原创 2015-06-28 16:25:43 · 1959 阅读 · 3 评论 -
设计模式-解释器模式
定义:定义语言的文法,并且建立一个解释器来解释该语言中的句子。类图: 说明:AbstractExpression表示抽象表达式,他生命声明一个抽象的解释操作,该接口为抽象语法树上所有的节点所共享;TerminalExpression表示终结符表达式,它实现与文法中的终结符相关联的解释操作,语言中每一个句子的每个终结符都属于该类的一个实例;NonterminalExpr原创 2015-07-02 00:09:05 · 413 阅读 · 0 评论 -
设计模式之策略模式
定义:定义一系列的算法,把它们一个个封装起来,并且使它们可互相替换,策略模式使得算法的变化可独立于使用它的客户。类图: 说明:Context表示环境类,它通过ConcreteStrategy对象配置其执行环境,并维护一个对Strategy的引用实例,可以定义一个接口Strategy存取其数据;Strategy表示抽象策略类,它定义一个公共的接口给所有支持的算法,Con原创 2015-06-28 13:19:02 · 2677 阅读 · 0 评论 -
设计模式-命令模式
定义:命令模式将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求配对或者记录请求日志,以及支持可撤销的操作。类图: 说明:Command表示抽象命令类,它用于声明执行操作的一个接口;ConcreteCommand表示具体命令类,它将一个接收者对象绑定与一个动作,是现在Command中声明的execute()方法,它将一个接收者对象绑定与一个动作,实现原创 2015-07-01 22:52:01 · 355 阅读 · 0 评论 -
设计模式之访问者模式
定义:表示一个作用于某对象结构中的各元素的操作,它使得用户可以再不改变各元素的累的前提下定义作用于这些元素的新操作,它是一种对象行文模式。类图: 说明:抽象访问者Visitor是一个抽象访问者,声明访问者可以访问哪些元素;具体访问者ConcreteVisitor就是指访问者访问到一个类后要做什么事情;抽象元素Element是一个抽象类,生命接受哪一类型的访问者访问;具体元素Con原创 2015-06-28 10:04:14 · 346 阅读 · 0 评论 -
设计模式-中介者模式
定义:用一个中介对象来封装一系列的对象交互;中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。类图: 说明:Mediator表示抽象中介者,它定义了一个接口用于与各同事对象之间进行通信;ConcreteMediator表示具体中介者,它通过协调各个同事对象来实现协作行为,了解并维护它对各个同事对象的引用;Colleague表示抽象原创 2015-06-30 18:58:49 · 432 阅读 · 0 评论 -
设计模式-迭代器模式
定义:提供一种方法顺序访问一个聚合对象中各个元素,而不需要暴露该对象的内部表示。类图: 说明:Iterator表示抽象迭代器,它定义了访问和遍历元素的接口;ConcreteIterator表示具体迭代器,它实现迭代器接口,并在对该聚合遍历时跟踪当前位置;Aggregate表示抽象聚合,它定义并创建相应迭代器对象的接口;ConncreteAggregate表示具体聚合,原创 2015-07-02 00:43:32 · 4099 阅读 · 0 评论 -
设计模式之模板方法模式
定义:在一个方法中定义算法的骨架,而将一些步骤延迟到子类中。类图: 说明:AbstractClass表示抽象类,它定义一系列抽象的基本操作(Primitivie Operations),其子类可以重定义并实现一个算法的各个步骤,在AbstractClass中实现了一个模板方法,子啊模板方法中定义了一个算法的骨架,此模板方法可以调用定义在AbstractClass中的方法或其他的对原创 2015-06-24 00:10:23 · 632 阅读 · 0 评论 -
设计模式之观察者模式
定义:允许一个对象在其内部状态变化时改变它的行为,对象看起来似乎修改了它所属的类。类图: 说明:Context表示环境类,它定义了客户应用程序感兴趣的接口,并维护一个ConcreteState子类的实例,这个实例用于定义当前状态;State表示抽象状态类,它定义了一个接口以封装与Context的一个特定状态相关的行为;ConcreteStateA和ConcreteSt原创 2015-06-28 21:36:39 · 1524 阅读 · 0 评论 -
设计模式-职责链模式
定义:为解除请求的发送者和接受者之间耦合,而使多个对象都有机会处理这个请求,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。类图: 说明:Originator表示原发器,它创建备忘录并存储其当前内部状态,还可以使用备忘录来恢复内部状态;Memento表示备忘录,它存储原发器Originator的内部状态,并更具原发器来决定保存哪些内部状态,同时它还原创 2015-07-01 10:53:07 · 674 阅读 · 0 评论 -
设计模式-备忘录模式
定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可将该对象恢复到先前保存的状态。类图: 说明:Originator表示原发器,它创建备忘录并存储其当前内部状态,还可以使用备忘录来恢复内部状态;Memento表示备忘录,它存储原发器Originator的内部状态,并更具原发器来决定保存哪些内部状态,同时它还通过一些机制来防止原原创 2015-06-29 16:33:25 · 468 阅读 · 0 评论