摘要: 迭代器模式把对象的职责分离,职责分离可以最大限度减少彼此之间的耦合程度,从而建立一个松耦合的对象。职责分离的要点是对被分离的职责进行封装,并以抽象的方式建立彼此之间的关系。1、迭代器模式简介1.1>、定义 迭代器模式提供一种方法可以顺序访问聚合对象中各个元素,但又不暴露该对象的内部表示。1.2>、使用频率 高2、迭代器模式结构2.1>、结构图2.2>、参与者 迭代器模式参与者: ◊ Iterator:迭代器定义访问和遍历元素的接口 ◊ ConcreteIterator ° 具体迭代器实现迭代器接口 ° 对该聚合遍历时跟踪当前位置 ◊ Aggregat 阅读全文
posted @ 2014-04-01 16:31 libingql 阅读(4633) 评论(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 阅读(8236) 评论(0) 推荐(2) 编辑
摘要: 你去银行取款的时候,银行会给你一张取款单,这张取款单就是一个模板,它把公共的内容提取到模板中,只留下部分让用户来填写。在软件系统中,将多个类的共有内容提取到一个模板中的思想便是模板方法模式的思想。 模板方法模式是基于继承的代码复用基本技术,在模板方法模式中,可以将相同的代码放在父类中,而将不同... 阅读全文
posted @ 2014-04-01 12:14 libingql 阅读(8280) 评论(0) 推荐(1) 编辑
摘要: 代理模式提供了一个中介控制对某个对象的访问。现实生活中,我们可能会用支票在市场交易中用来代替现金,支票就是账户中资金的代理。1、代理模式简介1.1>、定义 代理模式(Proxy)定义:代理模式为客户端程序提供一种中间层以控制对这个对象的访问。1.2>、使用频率 中高2、代理模式结构2.... 阅读全文
posted @ 2014-04-01 10:07 libingql 阅读(6228) 评论(0) 推荐(0) 编辑