Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [опрос]Паттерны проектирования 
:(
    Опции темы
 
Используете ли вы паттерны проектирования в своих программах?
Да [ 20 ]  [43.48%]
Нет [ 8 ]  [17.39%]
Нет, но хочу [ 10 ]  [21.74%]
Что это? [ 8 ]  [17.39%]
Всего проголосовавших: 46
В этом опросе возможен один вариант ответа
Гости не могут голосовать 
Domestic Cat
Дата 2.4.2005, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 3
Всего: 172



Цитата(chipset @ 2.4.2005, 01:59)
Ну пусть даже и так, но getInstance у тебя все равно возвращает null.


Ты уверен?


--------------------

PM   Вверх
chipset
Дата 2.4.2005, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



Цитата(Domestic @ 2.4.2005, 00:01)

Ты уверен?

После первого вызова smile


Это сообщение отредактировал(а) chipset - 2.4.2005, 11:03


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Domestic Cat
Дата 2.4.2005, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 3
Всего: 172



Цитата(chipset @ 2.4.2005, 01:59)
т.е. геммороя с хранением линка не избежать.

У меня щас крыша поедет smile С каких пор хранение линка стало геморроем?


--------------------

PM   Вверх
chipset
Дата 2.4.2005, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



Цитата(Domestic @ 2.4.2005, 00:03)

У меня щас крыша поедет smile С каких пор хранение линка стало геморроем?

Потому что тебе придется раздавать его всем желающим из той первой функции где ты его получил, или строить класс-раздаватель линка smile

Это сообщение отредактировал(а) chipset - 2.4.2005, 11:04


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Domestic Cat
Дата 2.4.2005, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 3
Всего: 172



Цитата(chipset @ 2.4.2005, 02:02)

После первого вызова smile

Ну кто мешает тебе убрать этот нул и возвращать линк ВСЕ ВРЕМЯ? То один вариант, полезный в определенных случаях, если тебе нужен синглтон из 10 классоб, - ПОЖАЛУЙСТА, кроме того, что в таком дизайне возникают сомнения, других возражений нет...


--------------------

PM   Вверх
chipset
Дата 2.4.2005, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



Цитата(Domestic @ 2.4.2005, 00:05)
Ну кто мешает тебе убрать этот нул и возвращать линк ВСЕ ВРЕМЯ?

Я так и делаю.. smile

Цитата(Domestic @ 2.4.2005, 00:05)
кроме того, что в таком дизайне возникают сомнения, других возражений нет...

Ну, да, Александреску вообще слабенький программист, чё он лезет- кто знает...

Это сообщение отредактировал(а) chipset - 2.4.2005, 11:10


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Domestic Cat
Дата 2.4.2005, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 3
Всего: 172



Цитата(chipset @ 2.4.2005, 02:09)
Ну, дык, Александреску вообще слабенький программист, чё он полёз - кто знает...


Если бы то, что классы должны быть слабо связаны, придумал я, я бы еще понял твои слова, но это вообще-то обычная вещь в ООП; Фаулера, Купера и тысячи других тоже трудно причислить к соплякам...


--------------------

PM   Вверх
chipset
Дата 2.4.2005, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



А теперь представь, что тебе нужно будет добавить ещё один класс в дизайн который юзает синглетон и тебе придется сразу закладывать в его конструктор параметр а-ля "Singleton *single", ну разве красивое решение? Хотя это уже дело вкуса..
Кстати, для организации классов в кучки которые пользуются одним синглетоном существуют неймспейсы.
Добавлено @ 11:20
Цитата(Domestic @ 2.4.2005, 00:14)
классы должны быть слабо связаны

А я как-то не вижу что доступ к синглетону со всех классов влияет на связь оных классов в увеличивающем смысле. Скорее уж наоборот, передача другим классам линка на синглетон ещё более их связывает.

Это сообщение отредактировал(а) chipset - 2.4.2005, 11:21


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Domestic Cat
Дата 2.4.2005, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 3
Всего: 172



Цитата(chipset @ 2.4.2005, 02:19)
Кстати, для организации классов в кучки которые пользуются одним синглетоном существуют неймспейсы.

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

Цитата(chipset @ 2.4.2005, 02:19)
А я как-то не вижу что доступ к синглетону со всех классов влияет на связь оных классов в увеличивающем смысле. Скорее уж наоборот, передача другим классам линка на синглетон ещё более их связывает.

А доступ часто дается для того, чтобы сохранить ссылку в поле объекта. Да фих с ним... Просто есть еще один хороший принцип ООП - принцип ответственности за что-то одно (Single Responsibility Principle). То значит, что синглтон, как и любой другой класс, должен быть ответственен за что-то одно. Раз это синглтон, то это значит, что вообще критично, чтобы такой объект был один. Потому чаще всего он не будет нужен в бог знает каких методах непонятно каких классов.


--------------------

PM   Вверх
chipset
Дата 2.4.2005, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



Цитата(Domestic @ 2.4.2005, 00:23)
И классы в неймспейсы объединяют не на основании того, что всем им нужен один синглтон.

Нет конечно.
Хорошо, возьмем конкретный пример синглетона: Logfile.
Какова по твоему область действия этого синглетона?

Это сообщение отредактировал(а) chipset - 2.4.2005, 11:33


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Domestic Cat
Дата 2.4.2005, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 3
Всего: 172



Цитата(chipset @ 2.4.2005, 02:33)
Нет конечно. Но возьмем конкретный пример синглетона: Logfile.
Какова по твоему область действия этого синглетона?


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


--------------------

PM   Вверх
chipset
Дата 2.4.2005, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



Цитата(Domestic @ 2.4.2005, 00:43)
если ты сделаешь не один логгер а пять.

Обычно один файл для лога, или N их создается, все равно, доступ к ним ОДИН.

Цитата(Domestic @ 2.4.2005, 00:43)
Логгер делают доступным везде - см. статик кейворд.

См. замечание насчёт файла, следовательно глупо делать вторую копию логгера.

Это сообщение отредактировал(а) chipset - 2.4.2005, 11:45


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Domestic Cat
Дата 2.4.2005, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 3
Всего: 172



Цитата(chipset @ 2.4.2005, 02:44)
Обычно один файл для лога, или N их создается, все равно, доступ к ним ОДИН.

А если логгеры в консоль пишут или в разные сокеты/файлы?




--------------------

PM   Вверх
chipset
Дата 2.4.2005, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



Цитата(Domestic @ 2.4.2005, 00:47)

А если логгеры в консоль пишут или в разные сокеты/файлы?

Все равно, открываются они ОДИН РАЗ, все аутпуты, т.е. эдакий логговой аутпут программы. Это пофиг, важно что так будет удобнее посылать сообщения для логгера, ОДНОМУ логгеру..

Это сообщение отредактировал(а) chipset - 2.4.2005, 11:49


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Domestic Cat
Дата 2.4.2005, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 3
Всего: 172



Цитата(chipset @ 2.4.2005, 02:49)
Все равно, открываются они ОДИН РАЗ, все аутпуты, т.е. эдакий логговой аутпут программы. Это пофиг, важно что так будет удобнее посылать сообщения для логгера, ОДНОМУ логгеру..

а если я хочу разные логгеры, так чтобы я мог вызвать в коде один логгер и писать в него, не указывая каждый раз что мне нужен именно логгер для сокета или логгер для записи в файл с ИНФО а не ЕРРОРами? У тебя получается универсальный логгер на все случаи жизни, а это плохо.


--------------------

PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1005 ]   [ Использовано запросов: 23 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.