04 2014 档案

摘要:1、访问者模式简介1.1>、定义 作用于某个对象群中各个对象的操作,可以使在不改变对象本身的情况下,定义作用于对象的新操作。1.2>、使用频率 低2、访问者模式结构2.1>、结构图 阅读全文
posted @ 2014-04-09 23:28 libingql 阅读(1341) 评论(0) 推荐(0) 编辑
摘要:1、状态模式简介1.1>、定义 状态模式的核心思想是允许一个对象在它的内部状态改变时改变它的行为,即不同的状态对应不同的行为。 状态模式的针对性很强,当有状态变化的时候可以选择状态模式。1.2>、使用频率 中等2、状态模式结构2.1>、结构图2.2>、参与者 状态模式参与者: ◊ Con... 阅读全文
posted @ 2014-04-09 21:53 libingql 阅读(9185) 评论(2) 推荐(1) 编辑
摘要:1、命令模式简介1.1>、定义 命令模式的目的是解除命令发出者和接收者之间的紧密耦合关系,使二者相对独立,有利于程序的并行开发和代码的维护。命令模式的核心思想是将请求封装为一个对象,将其作为命令发起者和接收者的中介,而抽象出来的命令对象又使得能够对一系列请求进行操作,如对请求进行排队,记录请求日志以及支持可撤销的操作等。1.2>、使用频率 中高2、命令模式结构2.1>、结构图2.2>、参与者 命令模式参与者: ◊ Command:命令抽象类,声明一个执行操作的接口Execute,该抽象类并不实现这个接口,所有的具体命令都继承自命令抽象类。 ◊ ConcreteComma 阅读全文
posted @ 2014-04-08 11:41 libingql 阅读(9212) 评论(0) 推荐(1) 编辑
摘要:1、备忘录模式简介1.1>、定义 备忘录模式在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。1.2>、使用频率 低2、备忘录模式结构2.1>、结构图2.2>、参与者 备忘录模式参与者: ◊ Memento ° 为创建对象的各个部件指定抽象接口 ° 防止Originator意外的其他对象访问备忘录。备忘录实际上有两个接口,Caretaker只能看到备忘录的窄接口,它只能将备忘录传递给其他对象。Originator能够看到一个宽接口,允许它访问返回到先前状态所需的所有数据。理想的情况 阅读全文
posted @ 2014-04-07 23:04 libingql 阅读(3444) 评论(1) 推荐(1) 编辑
摘要:1、职责链模式简介1.1>、定义 职责链模式是一种行为模式,为解除请求的发送者和接收者之间的耦合,而使多个对象都有机会处理这个请求。将这些对象连接成一条链,并沿着这条链传递该请求,直到有一个对象处理它。1.2>、使用频率 中低2、职责链模式结构2.1>、结构图2.2>、参与者 职责链模式参与者: ◊ Handler ° 定义一个处理请求的接口 ° 实现后继链 ◊ ConcreteHandler ° 处理其所负责的请求 ° 可访问其后继者 ° 如果可处理该请求,则处理;否则将该请求转发给它的后继者。 ◊ Client:向链 阅读全文
posted @ 2014-04-07 20:14 libingql 阅读(3762) 评论(0) 推荐(0) 编辑
摘要:迭代器模式把对象的职责分离,职责分离可以最大限度减少彼此之间的耦合程度,从而建立一个松耦合的对象。职责分离的要点是对被分离的职责进行封装,并以抽象的方式建立彼此之间的关系。1、迭代器模式简介1.1>、定义 迭代器模式提供一种方法可以顺序访问聚合对象中各个元素,但又不暴露该对象的内部表示。1.2>、使用频率 高2、迭代器模式结构2.1>、结构图2.2>、参与者 迭代器模式参与者: ◊ Iterator:迭代器定义访问和遍历元素的接口 ◊ ConcreteIterator ° 具体迭代器实现迭代器接口 ° 对该聚合遍历时跟踪当前位置 ◊ Aggregat 阅读全文
posted @ 2014-04-01 16:31 libingql 阅读(4651) 评论(0) 推荐(0) 编辑
摘要:在软件构建过程中,需要为某些对象建立一种“通知依赖关系”,即一个对象的状态发生改变,所有的依赖对象都需要得到通知。1、观察者模式简介1.1>、定义 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。1.2>、使用频率 高2、观察者模式结构2.1>、结构图2.2>、参与者 观察者模式参与者: ◊ Subject ° 抽象的主题,被观察的对象 ° 提供Attach和Detach Observer对象的接口 ◊ ConcreteSubject ° 具体的被观察对象,维持ConcreteSubj 阅读全文
posted @ 2014-04-01 15:47 libingql 阅读(8269) 评论(0) 推荐(2) 编辑
摘要:你去银行取款的时候,银行会给你一张取款单,这张取款单就是一个模板,它把公共的内容提取到模板中,只留下部分让用户来填写。在软件系统中,将多个类的共有内容提取到一个模板中的思想便是模板方法模式的思想。 模板方法模式是基于继承的代码复用基本技术,在模板方法模式中,可以将相同的代码放在父类中,而将不同... 阅读全文
posted @ 2014-04-01 12:14 libingql 阅读(8293) 评论(0) 推荐(1) 编辑
摘要:代理模式提供了一个中介控制对某个对象的访问。现实生活中,我们可能会用支票在市场交易中用来代替现金,支票就是账户中资金的代理。1、代理模式简介1.1>、定义 代理模式(Proxy)定义:代理模式为客户端程序提供一种中间层以控制对这个对象的访问。1.2>、使用频率 中高2、代理模式结构2.... 阅读全文
posted @ 2014-04-01 10:07 libingql 阅读(6275) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示