А потом толстому хорьку одного бригадира показалось мало. И придумал он целую бесконечную систему рабочих отношений. Древовидную такую, мля.
Composite module:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DesignPatterns
{
//Компонент - неизменная часть листа и ветви композитного паттерна
public interface IWorker
{
string TalkToMe();
void DoWork();
}
//Работник - узловая часть паттерна
public class Worker:IWorker
{
public string TalkToMe()
{
return "Yes?";
}
public void DoWork()
{
//Здесь описание работы работника
}
}
//Бригадир - ветвь паттерна
public class Foreman : IWorker
{
//Бригада
private readonly List
_Workers;
public string TalkToMe()
{
return "Чего тебе опять надо, толстожопый?";
}
public void DoWork()
{
//Здесь описание работы работника
}
public Foreman()
{
_Workers = new List();
}
//Добавление работника в бригаду
public void Add(IWorker worker)
{
_Workers.Add(worker);
}
//Добавление нескольких работников
public void AddRange(params IWorker[] workers)
{
_Workers.AddRange(workers);
}
//Вывод работника из бригады
public void Delete(IWorker worker)
{
_Workers.Remove(worker);
}
}
}