我是设计模式的新手,最近我开始阅读Head First Design Patterns。
在我看来, Iterator 设计模式与 Adapter 设计模式非常相似。我知道 Adapter 模式创建了一个适配器,可以帮助代码A和B进行通信,而客户端只与代码A的接口进行交互。
我发现 Iterator 模式与此类似,特别是在用餐和煎饼屋合并的例子中。You can check the example here.
所以这是我的问题, Iterator 模式是 Adapter 模式的一种形式吗?
答案 0 :(得分:4)
这是两种不同的模式。适配器是结构模式,而Iterator是行为模式。
<强>适配器强>: - 将类的接口转换为客户期望的另一个接口。适配器允许类一起工作,否则由于不兼容的接口而无法使用。
<强>迭代强>: 提供一种顺序访问聚合对象元素的方法,而不暴露其基础表示。