代码改变世界

随笔档案-2011年7月25日

迭代器模式

2011-07-25 16:43 by 卫佳, 212 阅读, 收藏,
摘要: MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0迭代这个名词对于熟悉Java的人来说绝对不陌生。我们常常使用JDK提供的迭代接口进行javacollection的遍历:Iteratorit=list.iterator();while(it.hasNext()){//using“it.next();”CheapReadingglasses}而这就是关于迭代器模式应用很好的例子。二、定义与结构迭代器(Iterator)模式,又叫做游标(Cursor)模式。GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个 阅读全文

调停者模式

2011-07-25 16:41 by 卫佳, 526 阅读, 收藏,
摘要: MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0MediatorPattern中文译为“中介者模式”、“调停者模式”。其实都不是很好,由于现实生活中的“中介”是要和客户打交道,而省去客户原本繁琐的手续,这一点和门面模式的初衷很相像;而在MediatorPattern中Mediator是不可见的。“调停”也不好,因为Mediator在程序中存在的初衷仅仅是规范信息传递的方式。因此叫做“传递器模式”仿佛更能体贴一些,但是本文还是称其为“调停者模式”。二、定义与结构SunglassesWholesale给调停者模式下的定义是:用一个 阅读全文

备忘录模式

2011-07-25 16:41 by 卫佳, 353 阅读, 收藏,
摘要: MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0俗话说:世上难买后悔药。所以凡事讲究个“三思而后行”,但总常见有人做“痛心疾首”状:当初我要是……。如果真的有《大话西游》中能时光倒流的“月光宝盒”,那这世上也许会少一些伤感与后悔——当然这只能是痴人说梦了。但是在我们手指下的程序世界里,却有的后悔药买。今天我们要讲的备忘录模式便是程序世界里的“月光宝盒”。二、定义与结构备忘录(ReadingGlasseswithCase)模式又称标记(Token)模式。GOF给备忘录模式的定义为:在不破坏封装性的前提下,捕获一个对象的内部状态, 阅读全文

观察者模式

2011-07-25 16:40 by 卫佳, 450 阅读, 收藏,
摘要: 还记得警匪片上,匪徒们是怎么配合实施犯罪的吗?一个团伙在进行盗窃的时候,总有一两个人在门口把风——如果有什么风吹草动,则会立即通知里面的同伙紧急撤退。也许放风的人并不一定认识里面的每一个同伙;而在里面也许有新来的小弟不认识这个放风的。但是这没什么,这个影响不了他们之间的通讯,因为他们之间有早已商定好的暗号。呵呵,上面提到的放风者、偷窃者之间的关系就是观察者模式在现实中的活生生的例子。二、定义与结构观察者(AcetateSunglasses)模式又名发布-订阅(Publish/Subscribe)模式。GOF给观察者模式如下定义:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有 阅读全文