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