Iterator模式
笔者近期正在学习一些常用的设计模式,由于处于刚刚起步的阶段,所以就《图解设计模式》一书进行学习。
因为该博客属于个人总结类博客,所以零散的知识点便不在赘述,只谈谈我对于该模式的一些个人理解
类图

从该图中,我理解的该设计模式的精髓有二
其一:制作了一个容器用来取代单纯的数组,而这个容器中功能完备,如果举个例子理解其中奥秘,就像是你想拿个锤子锤自家墙上的钉子,但是一把锤子是公用的,一把锤子是自己家的,那么如果自家有一把锤子行事都会变得极其方便。
其二:该设计模式本可以取消Aggregate这个集合的模块,本人在初步阅读时,也不太能理解为什么单独要搞一个Aggregate,可是当我整体看完,自己实现了这个设计模式后,我发现它就像是一个工具箱的作用,意思就是说迭代器只是其中一个工具,而它可以有很多工具,再拓展一下就是,你家有一个工具箱,工具箱里有一个锤子,也可以有其他的东西。
好了,那么接下来便是总结时间,整个一设计模式的流程便是,你需要买个工具箱(也就是先创建一个Aggregate接口),然后决定要在工具箱里放什么工具(该案例中放入的是Iterator接口),之后便是定义这项工具(也就是定义Iterator接口的功能),然后学会如何使用这个工具(也就是实现Iterator接口),然后便是你先把家搭起来(也就是ConcreteAggregate),然后把工具箱的东西买回来(也就是实现Aggregate接口),然后要啥取啥就可。