Какой шаблон я ищу? - PullRequest
       1

Какой шаблон я ищу?

1 голос
/ 09 мая 2011

Скажите, у меня есть следующий интерфейс:

ICarProvider

И следующие классы, реализующие его:

RedCarProvider:ICarProvider
BlueCarProvider:ICarProvider
GreenCarProvider:ICarProvider

Теперь я хотел бы сделать следующее:

В зависимости от настроек пользователя, создайте один экземпляр одного (только одного) из этих классов и используйте его на протяжении всего сеанса приложения. Так что моя логика должна знать только интерфейс и где взять экземпляр.

Есть шаблон для этого?

Спасибо!

Ответы [ 5 ]

6 голосов
/ 09 мая 2011

Это называется фабричным шаблоном .

3 голосов
/ 09 мая 2011

Абстрактная фабричная картина.Подробнее на wikipedia.org

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

3 голосов
1 голос
/ 09 мая 2011

Звучит как фабричный шаблон.

Я не могу удержаться от того, чтобы скептически относиться к необходимости шаблона для описания чего-то столь тривиального.

0 голосов
/ 09 мая 2011

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

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