Как сделать класс фабрики статическим в шаблоне проектирования фабрики?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как сделать класс фабрики статическим в шаблоне проектирования фабрики?

Сообщение Anonymous »

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

Сделать фабрику (или менеджера фабрики) статичной: это упрощает использование, но требует дополнительной настройки.

Но C# не допускает наследование от статических классов, поэтому в этом случае как я могу наследовать разные фабрики от основного (статического) фабричного класса.< /p>
Например, если я создам фабрику BeeFactory как базовый класс, имеющий функцию, возвращающую продукт IBee:

Код: Выделить всё

public BeeFactory
{
public abstract IBee GetBee();
}
И создайте два подкласса HoneyBeeFactory и QueenBeeFactory, присущие базовому классу, и они будут иметь разные реализации относительно того, что следует делать с продуктом:

Код: Выделить всё

public HoneyBeeFactory : BeeFactory
{
public override IBee GetBee()
{
IBee bee = new Bee();
bee.isMakeHoney = true;
return bee;
}
}

Код: Выделить всё

public QueenBeeFactory : BeeFactory
{
public override IBee GetBee()
{
IBee bee = new Bee();
bee.isMakeHoney = false;
return bee;
}
}
Итак, если бы я сделал базовый класс фабрики статическим:

Код: Выделить всё

public static BeeFactory {...}
два подкласса произведут ошибку компиляции. И если бы я сделал фабричный класс единственной существующей фабрикой, как я мог бы иметь различные реализации для создания продукта?
Мне кажется, что статический базовый класс фабрики нарушает сам дизайн, потому что я могу это не присуще ему, так как я могу реализовать концепцию статического класса в фабричном шаблоне? или о чем говорится в книге?? Заранее спасибо.
Ссылка на книгу (https://unity.com/resources/design-patterns-solid-ebook)

Подробнее здесь: https://stackoverflow.com/questions/793 ... gn-pattern
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как сделать класс фабрики статическим в шаблоне проектирования фабрики?
    Anonymous » » в форуме C#
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Как сделать класс фабрики статическим в шаблоне проектирования фабрики?
    Anonymous » » в форуме C#
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Как сделать класс фабрики статическим в шаблоне проектирования фабрики?
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как сделать класс фабрики статическим в шаблоне проектирования фабрики?
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Как сделать класс фабрики статическим в шаблоне проектирования фабрики?
    Anonymous » » в форуме C#
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»