![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 07.06.2011
Сообщений: 28
|
![]()
Написал статью про сравнение функционального подхода с паттерном "Синглетон". Две ее части можно прочитать тут:
http://itw66.ru/blog/c_plus_plus/65.html http://itw66.ru/blog/c_plus_plus/71.html А вы как считаете, какой подход лучше?
Портал "It Works" (http://itw66.ru), на котором веду множество блогов по программированию и философии (FiloXSee).
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,821
|
![]()
СПАМ о своих статьях в http://programmersforum.ru/forumdisplay.php?f=24
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Куча теории. Укажите в своей статье реальное практическое применение Ваших изысканий. Не синтетическую ситуацию, а вот применительно к какой-нибудь бухгалтерской программе
![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 07.06.2011
Сообщений: 28
|
![]()
Сложный вопрос - нафига? Это к вопросу о том, пользуешься ты паттернами при написание кода или всегда изобретаешь велосипед. Лично я довольно интенсивно пользовался синглетонами, когда мне нужно было создать какую-то систему. Синглетон кажется хорошим средством для создания функций, к которым можно отовсюду получить доступ... Однако есть и важные недостатки. Когда я их осознал и переосмыслил этот паттерн, то отказался от его использования в С++. Эти статьи - это объяснение лучшего подхода для достижения целей. И там не сильно синтетический код.. просто имена вымышленные и выкинуто все, что не относится к теме.
Портал "It Works" (http://itw66.ru), на котором веду множество блогов по программированию и философии (FiloXSee).
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,087
|
![]()
1. Совершенно не затронута тема многопоточности, где из-за обилия блокировок проявляются большие проблемы синглтона, как замены глобальным переменным (хотя, альтернатива так же этим будет страдать). Современная программа и без многопоточности?
2. Какие-то сомнительные минусы в виде небольших дополнительных затрат на разыменовывание и вообще никаких плюсов и минусов предлагаемой замены. 3. Цитата:
4. Не раскрыта тема управления памятью в аналоге. Кто-то где-то ручками должен вызвать метод Create, а потом Destroy? В общем, однобокая статья, которая обгаживает синглтон и совершенно не раскрывает темы аналога. |
|
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
|
![]() |
![]() |
![]() |
#7 | |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
![]() Цитата:
Да. И? Многопоточность без явной необходимости - зло. Применение синглтона оправдано только в редких случаях. Куда ни попадя его лепят только начинающие разработчики, которые совсем недавно узнали, что есть такая вещь как паттерн и которые не представляют всех сложностей промышленного программирования. |
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 31.01.2011
Сообщений: 160
|
![]() |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Логично
![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,087
|
![]()
Ага. Только получение экземпляра синглтона наверняка будет обёрнута в блокировку, т.е. на каждый чих потоки будут захватывать экземпляр себе.
А теперь пожалуйста расшифровку что сие такое есть ![]() Современные программы обычно идут с GUI. Вешать GUI из-за проведения каких-то расчетов - есть еще большее зло. Учитывая особенности синглтона и его типичное использование, не получится его использовать как, например, подключения к БД. Частенько же для облегчения жизни просто в каждом потоке используется своё подключение к БД, но с синглтоном такое уже не прокатит. Цитата:
Я бы вообще паттерны перевёл не как "шаблоны проектирования", а как "образцы/примеры проектирования". Паттерны - это вовсе не рекомендация к действию, а просто примеры решения типовых задач. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Singleton | Selestis | Общие вопросы Delphi | 5 | 05.06.2011 13:38 |
Паттерн Service Layer (Сервисный уровень) | ВаликАматор | Общие вопросы C/C++ | 0 | 27.02.2011 11:37 |
паттерн singleton | zhenya.ya | Общие вопросы C/C++ | 1 | 26.11.2010 03:11 |
Паттерн MVP | Vistar | Общие вопросы .NET | 0 | 11.09.2010 18:45 |
Пример использования эвристического и строгого подхода. | Молодая | Помощь студентам | 1 | 26.05.2010 22:25 |