java.util.Iterator的实现是否使用State模式?

时间:2011-07-21 09:11:26

标签: java design-patterns

我只是在寻找一个合理的answear如何实施

java.util.Iterator 

属于国家设计模式

修改

请参阅以下链接

Examples of GoF Design Patterns in Java's core libraries

2 个答案:

答案 0 :(得分:3)

那,我不确定。据我所知,它是Iterator Design Pattern的实现。

但是,错误地说它可以使用State Pattern,因为调用next()会影响Iterator对象的状态。但是,IMO,它不是真正的State Pattern实现,因为它不会更改必须执行操作的基础对象。维基百科有一个很好的Java示例State Pattern

答案 1 :(得分:2)

引用the GoF book

  

状态:允许对象在其内部状态更改时更改其行为。该对象似乎会改变其类。

这绝对听起来不像是迭代器。这两种模式都没有在书中提及,顺便说一下。