Re[6]: Насколько "вредно" использование singleton?
От: sidorov18 США  
Дата: 28.07.10 07:46
Оценка:
Здравствуйте, szag, Вы писали:

S>Здравствуйте, sidorov18, Вы писали:


S>>У меня, например, синглтоном класс лог.

S>>А еще есть класс-синглтон, который контент из нета качает и парсит в свои структуры.

S>всегда может понадобится второй лог и работа через несколько соединений. Чисто моё имхо, в идеальной программе сингелтонов быть не должно. Практически всегда может потребоваться вторая копия объекта и исправить это будет не так просто, как изначально отказаться от использования синглтонов.


Это зависит от того, как сделан синглтон, насколько его "синглтоновость" вшита в класс. И может решатся комментированием одной строчки или даже его можно сделать многофункциональым.
например:

template<typename T>
T& get_instance_singletone()
{
   static T t;//работу в многопоточной среде убираем для наглядности.
   return t;
}


или это уже не синглтон?


второй экземпляр может понадобится, а может и не понадобится.
Например есть COM класс, который должен быть синглтоном. и за последние пол года это не изменилось пока)
Синглтоном его делает своя фабрика. Как в этом случае избавится от синглтона? COM сервер — внепроцессный.
А чтобы его переделать в обычный класс, нужно закомментить одну строчку — DECLARE_CLASSFACTORY_EX(...) или добавить еще один класс, который будет от него наследоватся — если нужно 2 класса.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.