概要
将对象组合成树形结构以表示“部分-整体”的层次结构。Composite模式使得用户对单个对象和组合对象的使用具有一致性。
类图

运行

代码
using System;
using System.Collections.Generic;
namespace 组合模式
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Client client = new Client();
client.main();
Console.ReadLine();
}
}
interface IComponent
{
void operation();
void add(IComponent component);
}
class Component : IComponent
{
private List<IComponent> components = new List<IComponent>();
public void add(IComponent component)
{
components.Add(component);
}
public virtual void operation()
{
foreach(IComponent component in components)
{
component.operation();
}
}
}
class Sort : Component
{
public override void operation()
{
Console.WriteLine("射击");
}
}
class Run : Component
{
public override void operation()
{
Console.WriteLine("跑");
}
}
class Client
{
public void main()
{
Console.WriteLine("简单机能");
Sort sort = new Sort();
sort.operation();
Run run = new Run();
run.operation();
Console.WriteLine("组合机能");
Component tank = new Component();
tank.add(sort);
tank.add(run);
tank.add(sort);
tank.operation();
}
}
}
8301

被折叠的 条评论
为什么被折叠?



