我委实不知道这个模式该怎么写,这个基本已经被淘汰的模式。其实好多地方都用到迭代器的,它被各种封装了。而且用C++自己写一个迭代器貌似不靠谱吧,我研究了半天也没发现C++是不是像C#或者Java一样有一个超基类Object,所以这个代码没法写……不过其实之前的代码有用到迭代器,貌似那几个用了容器的模式的实现是用了迭代器的,就是那个用了iterator的地方那就是迭代器。
迭代器模式的意图是提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该对象的内部表示。其适用性在于支持对聚合对象的多种遍历,为遍历不同的聚合结构提供一个统一的接口。
《大话设计模式》上讲的是售票员遍历一遍所有上车的人,让没买票的买票,不管这个人是普通的乘客、公交公司的内部人员、外国人还是小偷,统统不准逃票。也就是各种不同类型的遍历。
古剑里,用到迭代器的时候,嗯,普攻的时候,也就是说用特技进行全体攻击的时候,肯定是要遍历每一个敌人,而这每一个敌人因为类型不同,应该是不同的对象。同理,我方全员补血或者全员怎么样的时候也要遍历,因为不知道我方有几人在场上,这些人是谁。
诶,代码不写了,真没法写……具体的迭代器的使用还是那句话,参看STL的各个容器……
p.s. 刚才和室友看了一下流水画的微博,强人啊~也是一个为了梦想不顾一切的主~现在他应该是Gamebar的人吧~可惜我想去上海估计也不大可能见到他,不然一定要拜会一下~崇拜各种有梦想,并且能为梦想坚持、付出的人。