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

Поиск:

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


Эксперт
****


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

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



Цитата(chipset @ 2.4.2005, 22:25)
А зачем его вообще прятать? Класс то все равно не создастся..

Энкапсуляция - дело хорошее, даже в этом случае.


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

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


Эксперт
****


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

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



Цитата(Domestic @ 2.4.2005, 20:26)
Энкапсуляция - дело хорошее, даже в этом случае.

Энкапсуляция это когда пользователь класса не подозревает о его содержимом, если я не ошибаюсь. Причем энкапсуляция к прятанию элемента интерфейса: конструктора?

Это сообщение отредактировал(а) chipset - 3.4.2005, 08: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
Дата 3.4.2005, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(chipset @ 2.4.2005, 23:03)
Энкапсуляция это когда пользователь класса не подозревает о его содержимом, если я не ошибаюсь. Причем энкапсуляция к прятанию элемента интерфейса: конструктора?


Ты хочешь сказать, что декларация метода как протектед или приват не есть инкапсуляция? smile


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

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


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: 5
Всего: 10



После всего прочитанного, хочеться задать один вопрос:

Что такое СИНГЛТОН?


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
chipset
Дата 3.4.2005, 08:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Domestic @ 2.4.2005, 21:05)
Ты хочешь сказать, что декларация метода как протектед или приват не есть инкапсуляция? smile

Нет конечно.
Просто смысла от хоть какой-либо возни с конструктором в абстрактном классе очень мало. Кроме того, разве можно спутать абстрактный класс с синглетоном?
Добавлено @ 08:12
Цитата(np9mi7 @ 2.4.2005, 21:08)
Что такое СИНГЛТОН?

Цитата(Modern)
Описание шаблона Singleton в книге Gamma et al(1995) весьма просто: "Шаблон гарантирует, что класс имеет только один экземпляр и обеспечивает глобальный доступ к нему".

С другой стороны, в той же Modern C++ Design:
Цитата
"Оптимальной реализации синглетона не существует. В зависимости от конкретной задачи наилучшими оказываются различные реализации, включая машинно-зависимые.



--------------------
Цитата(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
Дата 3.4.2005, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(chipset @ 2.4.2005, 23:08)
Просто смысла от хоть какой-либо возни с конструктором в абстрактном классе очень мало. Кроме того, разве можно спутать абстрактный класс с синглетоном?


Если его писал ты, то нет. А если не ты, то тока так.


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

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


Эксперт
****


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

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



Цитата(Domestic @ 2.4.2005, 21:13)
Если его писал ты, то нет. А если не ты, то тока так.

Ок. Предположим имееца какой-то абстрактный класс: Something. У него конструктор в защищеной секции.
Что делает В. Пупкин добавляя класс использующий этот Something в проект? Вызывает Something::instance чтобы получить его, вот так:
Код

foo::instance();

Даже если instance будет невиртуальной, статической и вообще будет в классе, компилятор огрызнётся:
Цитата
cannot instantiate abstract class



--------------------
Цитата(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
Дата 3.4.2005, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Не пойму, ты к чему ведешь smile


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

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


Эксперт
****


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

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



Цитата(Domestic @ 2.4.2005, 21:22)
Не пойму, ты к чему ведешь smile

К тому что singleton трудно спутать с другими шаблонами.

Это сообщение отредактировал(а) chipset - 3.4.2005, 08:26


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


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.4.2005

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



Всем привет!
Извините но у меня вопрос не по теме!
Скажите пожалуйста реально ли изучить с++ (с нуля) за 2 месяца, для того чтобы хотябы научиться делать простую записную книжку?
P.S. Простите за флуд но моя скорость (10 кб/сек) не позволяет найти нужную тему smile
PM MAIL   Вверх
chipset
Дата 3.4.2005, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(DerLaM @ 2.4.2005, 21:29)
Скажите пожалуйста реально ли изучить с++ (с нуля) за 2 месяца, для того чтобы хотябы научиться делать простую записную книжку?

Зависит от тебя smile

Цитата(DerLaM @ 2.4.2005, 21:29)
P.S. Простите за флуд но моя скорость (10 кб/сек) не позволяет найти нужную тему smile

Давай я тему разделю?


--------------------
Цитата(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
Дата 3.4.2005, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(chipset @ 2.4.2005, 23:25)
К тому что singleton трудно спутать с другими шаблонами.

паттернами то есть.
Спутать легко. Если ты не читаешь документацию от корки до корки, или она просто плохая. А часто ты изучаешь сорцы всех чужих библиотек? Вот потому и легко.


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

PM   Вверх
np9mi7
  Дата 3.4.2005, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: 5
Всего: 10



НУ
chipset, так то реализация, а то сематника смысл! ОБЪЕКТ СУЩЕСТВУЕТ ОДИН! И все тут, а не доступ к нему один! В этом и есть смысл!

Хочешь мультитрейд? Создавай! Но опять этот менеджер, если он синглтон тоже ОДИН, а как ты там им управляешь это все уже другие вопросы!

Если используешь библиотеку Loki, то там синглтон обертывается в спец. шаблон и создается один экзкмпляр в глобольной/статической области памяти! Каким боком это класс в синглтоне непонятно, потому как он ОДИН (а это главная задача шаблона) а доступ к нему ты можешь сам разрулить без всякого instance() а методами самого класса в обертке!

Цитата
Просто смысла от хоть какой-либо возни с конструктором в абстрактном классе очень мало. Кроме того, разве можно спутать абстрактный класс с синглетоном?
А почему нет? Он может определять единый интерфейс, а быть на самом деле одним объектом из иерархии... (как ты писал, опр. при создании).

Зачем прятать конструктор абстрактного класса? (те объекта у этого класса нет, он опр только единый интерфейс)

Он вызывается при создании потомка. Ну так даже если его закроешь то все равно он будет вызываться. Если его писал не ты, зачем его закрывать? Яж его использовать буду только после наследования от него.... Создать экз. все равно не получиться....

Ну скорее всего это просто дело вкуса... smile

ps может имеет смысл как то разделять темы? А то все свалено в кучу.... Может создать таких мега постов штук так пять и вообще обсудить ООП? И паттерны? А?

Это сообщение отредактировал(а) np9mi7 - 3.4.2005, 08:41


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
chipset
Дата 3.4.2005, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Domestic @ 2.4.2005, 21:39)
Спутать легко. Если ты не читаешь документацию от корки до корки, или она просто плохая. А часто ты изучаешь сорцы всех чужих библиотек? Вот потому и легко.

Код спутывания в студию! smile
Цитата(np9mi7 @ 2.4.2005, 21:40)
а доступ к нему ты можешь сам разрулить без всякого instance() а методами самого класса в обертке!

Он же в private.
Цитата(np9mi7 @ 2.4.2005, 21:40)
А почему нет? Он может определять единый интерфейс, а быть на самом деле одним объектом из иерархии... (как ты писал, опр. при создании).

В плане? Он же не может инстанциироваться ибо абстрактный.
Цитата(np9mi7 @ 2.4.2005, 21:40)
ps может имеет смысл как то разделять темы?

Смысл темы довольно широкий, и мы иногда вихляем в другие стороны но только ради изучения корневой темы.
Цитата(np9mi7 @ 2.4.2005, 21:40)
Зачем прятать конструктор абстрактного класса? (те объекта у этого класса нет, он опр только единый интерфейс)

Чтобы не мешался;)

Это сообщение отредактировал(а) chipset - 3.4.2005, 08:50


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


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: 5
Всего: 10



Цитата
Он же в private.
, а instance() что тебе возвращает? Ссылку на объект? Указатель? (ну копию он врятли вернет так как он ОДИН).

Ну бери ссылку на объект и пытайся вызвать метод, а он тебе сам там:

я занят;
используй меня так хочешь и все тут.

Сам грек для мультитрейда вообще выделяет отдельную стратегию каторая и влияет на метод instance()...

Как вы собирались разным классам запр. использовать ЛОГ? Непонятно зачем? Если код тв пишешь своими руками то просто не используй его и все! Раз он тебе не нужен. Как со стороны сервиса ЛОГа это запретить? Я не понимаю?

Это сообщение отредактировал(а) np9mi7 - 3.4.2005, 09:10


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
Страницы: (9) Все « Первая ... 5 6 [7] 8 9 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

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

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

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

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


 




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


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

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