| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Singleton |
| Автор: 17dufa 31.8.2009, 10:12 | ||||
| Добрый день. наскока я понимаю стандартный Singleton выглядит примерно так:
если в проекте несколько Singleton'ов, что делать? Копи-пастить общую часть совершенно не хочется. Я вижу 2 решения: 1. Занести общую часть в #define 2. изменить класс на шаблонный:
но тогда приходится прибегать к механизму friend. Оба решения мне не нравятся чисто идеологически: на мой вкус слова "#define" и "friend" должны появляться только в случае крайней необходимости. Есть ли другое решение? *в реализации Локи (http://loki-lib.sourceforge.net/) заблудился |
| Автор: W4FhLF 31.8.2009, 10:18 |
Александреску (автора Локи) читали? Он подробно освещает этот вопрос. |
| Автор: 17dufa 31.8.2009, 10:24 |
| W4FhLF, упс. он у меня где-то 2-3 стоит на очереди |
| Автор: just_geek 31.8.2009, 22:18 | ||
только секцию Private в protected перевести. |
| Автор: nerezus 31.8.2009, 22:57 |
| Зачастую Singleton можно сократить до такого вида: namespace X {} |
| Автор: 17dufa 1.9.2009, 11:41 |
| just_geek, точно. идея наследоваться от инстанцированного собой же шаблона мне бы, наверно, никогда не пришла nerezus, если честно - не понял. |