Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> На сколько актуально использование паттернов, в Delphi 
:(
    Опции темы
Delphist
  Дата 11.3.2009, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

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



Видел много книг, статей, где описание паттернов идет с использованием языков Java, C++, но вот с использованием Object Pascal'e я не видел. В связи с чем назрел вопрос вопрос - на сколько сильно распространены паттерны в Delphi? Или быть может программисты Delphi вообще ими не пользуются. 


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
cemick
Дата 11.3.2009, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Может потому что Java, C++ раз в 50 распространненее Delphi потому и примеров для них больше smile 
PM MAIL WWW   Вверх
1000000dollars
Дата 11.3.2009, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Их полное название Design Patterns (Паттерны Проектирования), следовательно они относятся больше к проектированию, чем к программированию. Потому они слабо привязаны к языкам программирования, а примеры даны для иллюстрации на наиболее популярных языка программирования.

Сам я использую паттерны и реализую их на Delphi.
PM MAIL   Вверх
Snowy
Дата 11.3.2009, 13:34 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



Вопрос абстрактный.
А то, что не видел - значит не то читал.
А применяешь ты их сплошь и рядом.
PM MAIL   Вверх
Alexeis
Дата 11.3.2009, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



  Патерны это не новая технология, просто системацизация удачных решений. Многие паттерны уже реализванны в VCL, и используются автоматом.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Delphist
  Дата 11.3.2009, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

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



Цитата(Alexeis @  11.3.2009,  14:56 Найти цитируемый пост)
Многие паттерны уже реализванны в VCL, и используются атоматом. 

Мог бы привести примеры?

Добавлено через 7 минут и 9 секунд
Есть ли книги в электронном виде, описывающие существующие типы шаблонов с использованием Delphi?


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Alexeis
Дата 11.3.2009, 14:09 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Цитата(Delphist @  11.3.2009,  13:00 Найти цитируемый пост)
Мог бы привести примеры?

  Абстрактная фабрика. Любая, форма, все компоненты на ней, создаются реализацией этого патерна. Загрузка изображений в TImage, делаем просто LoadFromFile, создаются различные объекты в зависимости от типа изображения. Пример 2х реализаций одного паттерна.

Добавлено через 3 минуты и 2 секунды
  Использование патерна Visitor. 
Код

  Button := TButton.Create(Panel1);
  Button.Parent := Panel1;

Панель выступает в качестве наблюдателя и отвечает за удаление объекта + различные уведомления сообщениями. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Rrader
Дата 11.3.2009, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


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

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



Application - Singleton smile


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
Alexeis
Дата 11.3.2009, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



TStreamAdapter - Прокси.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Delphist
  Дата 13.3.2009, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

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



Пытался в нете найти книженцию (ради интереса) про паттерны именно напримере Delphi. Ни чего вразумительного не нашел.


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
RockClimber
Дата 13.3.2009, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

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



В русской википедии я вроде видел синглтон и абстрактную фабрику с примером на паскале. Посмотри еще в английской, может там больше примеров...


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
Snowy
Дата 13.3.2009, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



В Вики есть примеры.
http://ru.wikipedia.org/wiki/Шаблоны_проектирования
http://ru.wikipedia.org/wiki/Шаблон_делегирования

Добавлено через 12 минут и 44 секунды
Простейший пример - SaveToStream
Классический метод, которому пофигу, какой стрим ему подадут.
Организован типовой сценарий - дай стрим, а я в него сохраню.
Бери любой стрим или придумывай свой - оно всё равно работает.
Паттерны - вообще такая штука, что под неё половина ООП подходит.
Я бы даже не стал выводить это в отдельное понятие, ибо очень оно расплывчатое, общее и абстрактное.

Суть проста - пишем для чего-то с задумкой, чтоб работало с подобным.

Если я назначаю Caption контролу, то мне всё равно, что это за контрол.
Я просто это делаю, а остальное не моя забота.
Не понравилось - просто заменю контрол - отработает.
Это лего - детальки взаимозаменяемы. Один принцип годится для разных деталек.
И ты можешь не только менять детальки, но и делать свои, если они поддерживают тот же принцип.
По сути - это просто архитектура. Точнее один из её стандартов, который давно вписан в неё, как аксиома.
PM MAIL   Вверх
X-Vlad
Дата 14.3.2009, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 570
Регистрация: 10.4.2002
Где: Украина, Львов

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



Цитата

В связи с чем назрел вопрос вопрос - на сколько сильно распространены паттерны в Delphi? Или быть может программисты Delphi вообще ими не пользуются. 


После того как ты создаешь проект и бросаешь на него контролы - у тебя уже используется паттерны. Дельфи автоматом реализует множество патернов, ло которых девелоппер недогадывается. Прочитай несколько книг по патернам (не смотри на код(если ты его непонимаешь), смотри на UML диаграммы, блок схемы). Все девелопперы на Дельфи используют патерны, просто много из них даже незнают что такое паттерн и их типы smile))) Им главное begin... end... if....else... try...except...end и т.д.

Был случай спрашивали нового девлопера который устраивался в большую кантору "что зделает программа после оператора except", варианты ответа: остановит выполнение, продолжит выполнение кода ниже...


З.Ы. Э. Гамма   Р. Хелм   Р. Джонсон   Дж. Влиссидес, Приемы обьектно-ориентированого проектирования. Патерны проектирования. Санкт-Петербург 2001


Это сообщение отредактировал(а) X-Vlad - 14.3.2009, 15:40


--------------------
Хорошая штука - комп..:)
www.x-vlad.com
PM MAIL WWW ICQ   Вверх
kemiisto
Дата 14.3.2009, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



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

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



Цитата(X-Vlad @  14.3.2009,  13:28 Найти цитируемый пост)
З.Ы. Э. Гамма   Р. Хелм   Р. Джонсон   Дж. Влиссидес, Приемы обьектно-ориентированого проектирования. Патерны проектирования. Санкт-Петербург 2001

Читаем GoF (Gang of Four, Банда Четырёх smile , так часто называют авторов вышеуказанной книги), если возникают проблемы с переносом C++ -> Delphi, бежим, например, сюда.

Ещё ссылки по теме:P.S. Сам буду этим летом "копать" паттерны... smile 

Это сообщение отредактировал(а) kemiisto - 14.3.2009, 16:09


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Bose
Дата 14.3.2009, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

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



На rsdn вроде было достаточно много статей посвящённых реализации паттернов именно на Delphi.
Но многие из них, на мой взгляд, какие-то надуманные.

Добавлено через 14 минут и 35 секунд
Вот ещё ссылки:
Расширение возможностей паттерна Command
Практика применения паттернов проектирования

PM MAIL WWW Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

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


 




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


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

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