容器的主要职责有两个:存放元素和浏览元素。根据单一职责原则(SRP)要将二者分开,于是将浏览功能打包封装就有了迭代器。

      用迭代器封装对动态数组的遍历:

 

.

 

.

 

.

 

.

 

运行结果:

Delphi 设计模式:《HeadFirst设计模式》Delphi7代码---迭代器模式之DinerMenu

 

特别感谢:在实现上面示例时,遇到动态数组做参数的问题。感谢盒子论坛里的ZuoBaoQuan兄出手相助!