![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
call_me_Frank |
![]() ![]()
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 73 Регистрация: 20.10.2010 Пользователь №: 2129 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Привет!
не могу найти примера того, как нужно использовать подклассы Singlton'а Мейерса. суть задачи проста: нужен абстрактный класс логгера, и несколько его реализаций - для файловой системы, для БД, для консоли и т.д. Конечно, сам Логгер на всю программу должен быть в ед. экземпляре. Вот чего-то я запутался в этих трех соснах. ![]() |
|
|
![]() |
call_me_Frank |
![]()
Сообщение
#2
|
![]() Студент ![]() Группа: Участник Сообщений: 73 Регистрация: 20.10.2010 Пользователь №: 2129 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Постараюсь ответить по-порядку )
Iron Bug, спасибо за пояснение насчет __var. В приложениях такие имена никогда не использую, это был тест на скорую руку, что бы проверить независимость переменных с одним и тем же именем в разных классах. почему-то меня взяли сомнения на этот счет ![]() да, согласен, решение с классами действительно получилось довольно странным. я его не буду использовать, но кое на чем хочу остановиться: как мне показалось, вы (и Iron Bug, и wiz29) не поняли моего вопроса насчет развязки хедеров. Дело в том, что нет возможности вынести class2 в отдельный файл - он зависит от class1, который в свою очередь использует class2 в своей функции instance(). Получаются перекрестные ссылки, и я не нашел решения, как их развязать. Что скажете, сможете предложить решение? или это я не понял ваших комментариев? Цитата не совсем понятно, зачем этот огород? Iron Bug права ) это не только поиск нужного решения, это в первую очередь необходимая практика и желание разобраться. wiz29, Цитата Пользователю вообще обычно нет дела, куда пишется, был бы интерфейс, который позволяет это делать. - именно в этом и состоит моя задача.Цитата Опять же, есть вариант при котором могут быть реализованы несколько объектов-одиночек. - мне кажется, именно он и реализован во втором предложенном мной варианте с шаблонами, нет? Что скажете насчет такого решения?
|
|
|
wiz29 |
![]()
Сообщение
#3
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: ![]() ![]() ![]() |
Что скажете насчет такого решения? По хорошему, как было сказано вами же выше - наличие виртуального интерфейса не обязательно, особенно, если не планируется дать возможность пользователю менять поведение одиночки. Реализацию же, всегда можно "скрыть" от непосредственных пользователей. Сообщение отредактировал wiz29 - 26.2.2015, 17:54 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 4.5.2025, 7:50 |