C # Как использовать несколько реализаций интерфейса - PullRequest
1 голос
/ 22 декабря 2011

У меня есть 2 отдельные реализации интерфейса, и на основании настроек, которые я сохранил в своей базе данных, я хочу использовать любую из них (создать объект определенного класса impl и выполнить методы).

Итак,

Если настройка = 1, тогда использовать реализацию интерфейса 1 В противном случае используйте реализацию интерфейса 2

Каков наилучший способ сделать это? Есть ли в любом случае динамически создавать объект правильной реализации интерфейса на основе значения переменной?

Ответы [ 2 ]

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

Вы можете использовать шаблон фабричного дизайна .

2 голосов
/ 22 декабря 2011

Да, вы захотите взглянуть на шаблон Factory .

По сути, вы делегируете создание фактического объекта другому объекту (называемому фабрикой).Когда спрашивают об экземпляре объекта, фабрика смотрит на значение базы данных и создает соответствующий экземпляр.

...