02 2014 档案

摘要:定义:迭代器模式(IteratorPattern),提供一种方法顺序访问一个聚合对象中各个元素,而又暴露无遗该对象的内部表示。类型:对象行为型模式概述: 正如定义所言,迭代器是为解决更好的访问一个聚合对象中的各个元素而产生的。迭代器是对象行为模式,也即它主要是通过将对象中的访问行为提取出来作为迭代器类。迭代器的产生,主要是为了解决客户端对聚合对象内部元素访问时可能造成的耦合。为了使得迭代器能够访问更多的聚合对象,所以需要面向接口编程,即为迭代器和聚合对象分别提供统一接口。 C++中的STL库、C#,Java的泛型类型都有封装迭代器,所以下面的示例重点了解迭代器的工作原理。举一个简单示例,有一. 阅读全文
posted @ 2014-02-26 18:20 飞鹤0755 阅读(242) 评论(0) 推荐(0)
摘要:定义:解释器模式(Interpreter Pattern)给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。类型:类行为型模式概述:正如GoF所介绍的,解释器模式的应用场合比较窄。解释器模式在《Head First Design Pagtterns》中也被列为非常用模式。解释器模式虽然说更多应用在某种语言上,但是解释器的原理还是可以应用在其他场合的。解释器模式与组合模式有很大的相似性。正如GoF所言,在最宽泛的概念下,几乎每个使用复合模式的系统也都使用了解释器模式。解释器模式与组合模式的不同主要体现在,解释器模式中的几个解释器类都有相同的接口,而组 阅读全文
posted @ 2014-02-19 21:47 飞鹤0755 阅读(223) 评论(0) 推荐(0)
摘要:定义:命令模式(Command Pattern),将一个请求封闭成一个对象,从而使你可用不同的请求对客户进行参数化;对请求排除或记录请求日志,以及支持可撤销的操作。类型:行为型模式。概述: 命令模式,被《HeadFirst设计模式》列为常见的设计模式之一,而且光看类图,感觉很简单。可是真正要去运用的时候,往往会发现无从下手。因为你不知道什么时候该使用命令模式。任何关联的两个类,你发现居然都可以使用命令模式。但是使用了之后,发现代码理解起来似乎变得更复杂了。本来比较简单,并且耦合并不严重的两个类,再加进来一个命令类,反倒更复杂了。如果严格依照迪米特法则,差不多任何两个有关联的类都似乎需要一个中介 阅读全文
posted @ 2014-02-15 16:27 飞鹤0755 阅读(690) 评论(3) 推荐(1)