Есть ли воскресный шаблон проектирования синглтона? - PullRequest
0 голосов
/ 13 декабря 2011

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

драйвер может зависнуть, в этом случае его нужно уничтожитьи приложение должно попытаться инициировать его снова ... поэтому я изменил синглтон как способный к воскрешению - извините, я просто придумал этот термин, так как не знаю, какой он правильный.
в основном его стиль жизни такой:
не существует => синглтон # 1 => завис => убит => синглтон # 2 ...

во время проверки кода мой коллега сказал, что никогда раньше не видел такого синглтона, так как он понимает, что синглтон - это THEтолько один в течение всего жизненного цикла приложения ....

существует ли такой шаблон проектирования "воскрешаемый одноэлементный"?Есть ли какие-то подводные камни, о которых я должен знать?

о, я использую C #, хотя я беру это более общую тему дизайна ОО ...

1 Ответ

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

Шаблон синглтона здесь на самом деле не применим, поскольку вы сами сказали, что нужно создавать больше объектов.

Я бы предложил вам использовать что-то похожее на фабричный шаблон:

  • вызовите factory.get ()
  • если объектов не существует, создайте новый объект
  • если объект существует и является действительным, вернуть его
  • если объект существует и висит, убейте его и создайте новый объект

Вы реализуете фабрику так, что за один раз создается только один объект.

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