2013-05-29 2 views
1

В шаблоне команды Существует команда invoker, которая используется для обработки всех входящих команд. В моем случае все команды должны входить в один объект этого вызывающего, потому что Я управляю пулом очереди и потока в invoker. Это хорошая идея сделать invoker классом Singleton?Инициализация команды Invoker в шаблоне команды

+0

Вы используете что-либо в своем invoker, которое не является синглом или у которого нет такой же продолжительности жизни (например: ORM Session)? –

ответ

1

Я бы проголосовал против создания Синглтона. Сначала это может показаться привлекательным, но скоро окажется более проблематичным, чем это стоит.

Если вы храните его как экземпляр, вы можете убедиться, что он разделяется между теми, кто ему нужен, путем инсталляции конструктора/метода. Это означает, что ваш дизайн будет более тестируемым и позволит вам использовать контейнер IoC в будущем.

Это может показаться чрезмерной инженерией на данный момент, но IMHO, включающий принципы SOLID, рано получает здоровый дивиденд позже.

+0

Спасибо, Дэвид, я хотел пойти с наилучшим дизайном. – Ajay

Смежные вопросы