
设计模式-行为模式
文章平均质量分 86
努力突破
佛在灵山莫远求,灵山就在你心头,人人有座灵山塔,好向灵山塔下修。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java设计模式-责任链模式(Chain Of Resposibility)
职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的藕合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。1.当客户提交一个请求时,请求是沿链传递直至有一个ConcreteHandler对象负责处理它。2.接收者和发送者都没有对方的明确信息,且链中的对象自己也并不知道链的结构。结果是职责链可简 化对象的相互连接,它们仅需保持原创 2012-10-17 21:19:25 · 1319 阅读 · 0 评论 -
java设计模式-备忘录模式(Memento)
一、什么是备忘录模式 Memento模式也叫备忘录模式,是行为模式之一,它的作用是保存对象的内部状态,并在需要的时候(undo/rollback)恢复对象以前的状态。二、备忘录模式的应用场景 如果一个对象需要保存状态并可通过undo或rollback等操作恢复到以前的状态时,可以使用Memento模式。1)一个类需要保存它的对象的状态(相当于Originator原创 2012-10-17 22:46:55 · 563 阅读 · 0 评论 -
java设计模式-访问者模式(Visitor)
一、引子 对于系统中一个已经完成的类层次结构,我们已经给它提供了满足需求的接口。但是面对新增加的需求,我们应该怎么做呢?如果这是为数不多的几次变动,而且你不用为了一个需求的调整而将整个类层次结构统统地修改一遍,那么直接在原有类层次结构上修改也许是个 不错 的主意。 但是往往我们遇到的却是:这样的需求变动也许会不停的发生;更重要的是需求的任何变动可能都要让你将整个类层次结构修改个底朝天…原创 2012-10-24 20:32:23 · 1032 阅读 · 0 评论 -
java设计模式-模版方法模式(Template Method)
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中实现。TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。Template Method 英文简要描述Intent Define the skeleton of an algorithm in an operation, deferring some steps to subclasses.原创 2012-10-19 21:55:33 · 461 阅读 · 0 评论 -
浅谈 java 设计模式--策略模式(Strategy pattern)
策略模式是对算法的包装,把使用算法的责任和算法本身分隔开,委派给不同的对象管理。策略模式通常把一系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。何时使用策略模式:1) 如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态的让一个对象在许多行为中选择一种行为。2) 如果系统需要动态地在几种算法中选择一种。那么这些算法可以包装到一个个的具体算法原创 2012-08-15 15:06:58 · 425 阅读 · 0 评论 -
java设计模式-状态模式(State)
定义:允许一个对象的内部状态改变时改变它的行为。对象看起来似乎修改了它的类。本质:根据状态来分离和选择行为。状态:对象实例的属性值。行为:对象的功能,大多对应到方法上。状态模式的功能:分离状态的行为,通过维护状态的变化,来调用不同装态对应的不同功能。状态和行为是相关联的,可以描述为:状态决定行为。状态模式和策略模式的结构师完全一样的,但它们的目的、实现、本质却完全不一样。状原创 2012-10-19 21:34:41 · 560 阅读 · 0 评论 -
java设计模式-迭代器模式(Iterator)
迭代器模式:在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素;同时这种“透明遍历” 也为“同一种算法在多种集合对象上进行操作”提供了可能。使用面向对象技术将这种遍历机制抽象为“迭代器对象”为“应对变化中的集合对象”提供了一种优雅的方法。适用性:1.访问一个聚合对象的内容而无需暴露它的内部原创 2012-10-17 22:16:39 · 648 阅读 · 0 评论 -
java设计模式-中介者模式(Mediator)
一、中介者模式简介(Brief Introduction)中介者模式(Mediator Pattern),定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互。 Define an object that encapsulates how a set of objects interact. Mediator pr原创 2012-10-17 22:28:50 · 494 阅读 · 0 评论 -
java设计模式-解释器模式(Interpreter)
Interpreter模式,即解释器模式。解释器模式属于行为模式,Gof是这样定义的:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。解释器模式需要解决的是,如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子]。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。实例应用:正原创 2012-10-17 22:10:17 · 674 阅读 · 0 评论 -
浅谈 java 设计模式--命令行模式(Command pattern)
一、 Command模式定义:将一个请求封装为一个对象,从而使你不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。二、 模式解说Commad模式是一种对象行为模式,它可以对发送者(sender)和接收者(receiver)完全解耦(decoupling)。("发送者" 是请求操作的对象,"接收者" 是接收请求并执行某操作的对象。有了 "解耦",发送者对接收者的原创 2012-08-15 18:12:52 · 1877 阅读 · 0 评论 -
浅谈 java 设计模式--观察者模式(Observer pattern)
GoF说道:Observer模式的意图是“定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新”。从这段话里我们可以得到两个信息,如下: 1, 观察者(具体执行操作的对象,有多个) 2, 被观察者(顾名思义是被观察的对象,如果该对象发生某些变化则通知观察者执行对应的操) 接下来我们看一下附件中的图(请下载附件中的图 http://www原创 2012-08-15 17:46:36 · 541 阅读 · 0 评论