В поисках творческого шаблона дизайна - PullRequest
3 голосов
/ 17 марта 2009

Я пытаюсь найти шаблон проектирования, который можно использовать для упрощения построения некоторых объектов.

На основе входящего параметра, пользовательского класса, я собираюсь создать различные наследники из класса System.Windows.Forms.Control.

Например, если в пользовательском классе один из его членов имеет значение «ChkBox», я хочу, чтобы мой класс возвращал System.Windows.Forms.CheckBox, или если член является «List», я хочу, чтобы мой класс возвращал ComboBox.

public CustomClass()
{
    FieldType type;
}

и

GetControl(CustomClass type);

Общим является то, что все классы, которые я хочу создать, имеют Control как базовый класс. Имея это в виду, я думаю, что есть способ установить членов базового класса только в одном месте.

Знаете ли вы какой-либо шаблон проектирования, который я могу использовать для решения этой проблемы?

Ответы [ 2 ]

8 голосов
/ 17 марта 2009

Заводской шаблон

3 голосов
/ 17 декабря 2011

Вы можете использовать шаблон метода фабрики. Цель шаблона метода фабрики - позволить разработчику класса определить интерфейс для создания объекта, сохраняя контроль над тем, какой класс создать.

Для получения дополнительной помощи вы можете увидеть главу 4 «Модель проектирования головы».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...