构造型模式之迭代器(Iterator)与组合模式(Composite Pattern)C++实现*

结构型模式之迭代器(Iterator)与组合模式(Composite Pattern)C++实现******

目标:让用户遍历你的对象而无法窥视你存储对象的方式。如何创建对象的超集合。


迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而不暴露其内部的表示。迭代器模式把在元素之间游走的责任交给迭代器,而不是聚合对象。

迭代器类图:

构造型模式之迭代器(Iterator)与组合模式(Composite Pattern)C++实现*


组合模式:允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。

组合模式类图:

构造型模式之迭代器(Iterator)与组合模式(Composite Pattern)C++实现*

在开发中,可能要递归构建树状的组合结构,Composite模式则提供了很好的解决方案。

Component想相当于MenuComponent,Leaf相当MenuItem,Composite相当于Menu。


HeadFirst中菜单组合模式的C++实现:

Component.h头文件


Component.CPP


Composite.h


Composite.CPP


Leaf.h


Leaf.CPP


main.CPP






复制搜索