Сказки о Design Patterns. Composite.

Aug 26, 2012 20:41

А потом толстому хорьку одного бригадира показалось мало. И придумал он целую бесконечную систему рабочих отношений. Древовидную такую, мля.



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);
}
}
}

Сказки о Design Patterns

Previous post Next post
Up