先上代码:
下面用一个书架程序演示了迭代模式,设定一个书架,可放书本的数量。
放入书本,然后列出
看到这个算法是不是觉得眼熟,没错Java提供了一个专用的迭代器Iterator,
集合类Set,List,Map等都实现了这个迭代器
既然这样为什么还要学习这个模式呢,直接用不就行了?
不是的,如果只知其然而不知其之所以然,我们是什么时候才能成为高手,专家教授之所以是专家教授,因为他一些方面知道的比别人多。
那么这个迭代器有什么好处呢?本来一个用for循环就能搞定的事情为什么要用这么复杂的模式来做?
首先要明确的一点是,程序不是一个人写的。就算你是创始人,将来维护的也不一定是你,设计模式是众多程序员几十年的经验结晶。没有一定开发经验的人是意识不到设计模式的重要的。设计模式是一种思想,一种经验总结。
迭代器的好处是实现了代码的高内聚,低耦合。这简单的六个字可不是那么容易做到的。
还是很迷糊,那么不管怎么样,先记住第一条开发守则:
不要只用具体类写程序,要利用继承类和接口才对