当前位置: 首页 > 编程笔记 >

C++:组合模式

邵宜年
2023-04-24

将对象组合成树形结构以表示“部分整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性(稳定)。

class Component
{
public:
	virtual void process() = 0;
	virtual ~Component() {}
};
//树节点
class Composite : public Component {
	string name;
	list<Component*> elements;
public:
	Composite(const string & s) : name(s) {}
	void add(Component* element) {
		elements.push_back(element);
	}
	void remove(Component* element) {
		elements.remove(element);
	}
	void process() {
		for (auto &e : elements)
			e->process(); //多态调用
	}
};
class Leaf : public Component {
	string name;
public:
	Leaf(string s) : name(s) {}
	void process() {
	}
};
void Invoke(Component & c) {
	c.process();
}
int main()
{
	Composite root("root");
	Composite treeNode1("treeNode1");
	Composite treeNode2("treeNode2");
	Leaf leaf1("left1");
	Leaf leaf2("left2");

	root.add(&treeNode1);
	treeNode1.add(&treeNode2);
	treeNode1.add(&leaf1);
	root.add(&treeNode2);
	Invoke(root);
}

 类似资料:
  • 本文向大家介绍C#组合模式实例详解,包括了C#组合模式实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#组合模式。分享给大家供大家参考。具体如下: Company.cs如下: ConcreteCompany.cs如下: FinanceDepartment.cs如下: HRdepartment.cs如下: Program.cs如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 主要内容:介绍,实现,Employee.java,CompositePatternDemo.java组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。 我们通过下面的实例来演示组合模式的用法。实例演示了一个组织中员工的层次结构。 介绍 意图:将对象组合

  • 亦称: 对象树、Object Tree、Composite 意图 组合模式是一种结构型设计模式, 你可以使用它将对象组合成树状结构, 并且能像使用独立对象一样使用它们。 问题 如果应用的核心模型能用树状结构表示, 在应用中使用组合模式才有价值。 例如, 你有两类对象: ​ 产品和 盒子 。 一个盒子中可以包含多个 产品或者几个较小的 盒子 。 这些小 盒子中同样可以包含一些 产品或更小的 盒子 ,

  • 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。 我们通过下面的实例来演示组合模式的用法。实例演示了一个组织中员工的层次结构。 介绍 意图:将对象组合

  • 简介 有个项目,是为一家在全国许多城市都有分销机构的大公司做办公管理系统,总部有人力资源,财务,运营等部门。但是总公司的人力资源部,财务部等办公管理功能在所有的分公司或办事处都需要有。我们可能希望人力资源部,财务部的管理功能可以复用于分公司。这其实就是整体与部分可以被一致对待的问题。 组合模式:将对象组合成树形结构以表示'部分-整体'的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性

  • 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。 我们通过下面的实例来演示组合模式的用法。实例演示了一个组织中员工的层次结构。 介绍 意图:将对象组合