建设家装网站,楼书设计素材网站,网站建设与推广实训小结,建设网站 可以用3层架构吗Iterator模式#xff08;迭代器模式#xff09;
迭代器模式#xff08;Iterator#xff09;,提供一种方法#xff0c;顺序访问一个聚合对象中各个元素#xff0c;而不是暴露该对象的内部表示。
类图结构 说明 Iterator#xff08;迭代器#xff09; 该角色负责定义按…Iterator模式迭代器模式
迭代器模式Iterator,提供一种方法顺序访问一个聚合对象中各个元素而不是暴露该对象的内部表示。
类图结构 说明 Iterator迭代器 该角色负责定义按顺序逐个遍历元素的接口API。类图中定义的hasNext和next两个函数。hasNext用于判断是否存在下一个元素next用于获取元素 ConcreteIterator具体的迭代器 该角色负责实现Iterator定义的接口API Aggregate集合 该角色负责定义创建Iterator接口对象。 ConreteAggregate具体的集合 该角色负责实现Aggregate角色所定义的接口API。它会创建出来具体的Iterator角色即ConcreteIterator角色。
其他
原书中给的例子存在不恰当的地方BookShelf类与BookShelfIterator之间是相互引用关系这不是一个好现象可以将BookShelf中的记录Book对象的数组迁移到BookShelfIterator这样只保留BookShelf对BookShelfIterator的引用降低类之间的耦合。
Adapter模式适配器模式
适配器模式Adapter,将一个类的接口转成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
类图
继承实现 委托实现 说明 Target对象 该角色负责定义所需要的方法。 Client请求者 该角色负责使用Target角色所定义的方法进行具体处理。 Adaptee被适配 被适配的角色Adaptee是一个持有既定方法的角色Target因某种原因无法直接使用这些方法。 Adapter适配 Adapter模式的主人公。使用Adapter角色的方法来满足Target角色的需求这是Adapter模式的目的也是Adapter角色的作用。