Модераторы: THandle, bems

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Когда нужно использовать ООП? 
V
    Опции темы
Leklerk
Дата 28.5.2012, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Добрый день! Интересно было бы услышать мнения о том, когда нужно использовать ООП в delphi, какие-то примеры. Поделитесь своими соображениями и опытом!

Это сообщение отредактировал(а) Leklerk - 28.5.2012, 17:53
PM MAIL ICQ   Вверх
kami
Дата 28.5.2012, 18:24 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Leklerk @  28.5.2012,  17:50 Найти цитируемый пост)
когда нужно использовать ООП в delphi

Я вот как-то даже растерялся... smile 
Да вообще не используй. Процедурный подход проверен десятилетиями и до сих пор жив. А ООП придумали лентяи.

З.Ы. Занес себе в цитатник. Только из-за того, что вопрос ввел меня в ступор минут на 15.

Это сообщение отредактировал(а) kami - 28.5.2012, 18:26
PM MAIL WWW   Вверх
XperT
Дата 28.5.2012, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Leklerk @ 28.5.2012,  17:50)
Добрый день! Интересно было бы услышать мнения о том, когда нужно использовать ООП в delphi, какие-то примеры. Поделитесь своими соображениями и опытом!

Когда нужно создать программу, которую собираетесь сопровождать и развивать.
Для программ однодневок этот подход не выгоден, разве что за цель поставлено развить/улучшить навыки написания качественного кода.
PM MAIL   Вверх
DarkProg
Дата 28.5.2012, 19:54 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


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

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



Цитата(Leklerk @  28.5.2012,  18:50 Найти цитируемый пост)
Интересно было бы услышать мнения о том, когда нужно использовать ООП в delphi

Как дорастете, так и начинайте использовать.


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
cemick
Дата 28.5.2012, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Leklerk @  28.5.2012,  17:50 Найти цитируемый пост)
когда нужно использовать ООП в delphi, какие-то примеры.

Видать стало очень модно гнобить ООП в последнее время, например вот http://habrahabr.ru/post/143620/ и там в комментариях еще куча ссылок на подобные статьи.  Я думаю этот вопрос порожден подобными высказываниями.    Многим нравится делить все на черное и белое, а уж следовать за толпой и слепо повторять слова каких то непонятных личностей вообще писк моды, но во всем должен быть умеренный подход. Главное не надо маниакально следовать какой то определенной парадигме. Определенного единственно верного ответа не даст никто, пробуйте сами, совмещайте подходы, читайте и думайте своей головой. 
Ну и http://programmer.97things.oreilly.com/wik...ming_Principles

Сейчас практически на любом языке можно всегда совместно  использовать принципы  объектного, процедурного, декларативного , функционального программирования. И делфи не исключение, не говоря о том, что прямо в язык вносят конструкции и абстракции из разных парадигм. Нам бы еще что нибудь типа Linq и настало бы вселенское счастье. 
PM MAIL WWW   Вверх
k0rvin
Дата 28.5.2012, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(cemick @ 28.5.2012,  23:17)
Видать стало очень модно гнобить ООП в последнее время, например вот

Не в такое уж и последнее

Цитата(cemick @ 28.5.2012,  23:17)
Сейчас практически на любом языке можно всегда совместно  использовать принципы  объектного, процедурного, декларативного , функционального программирования. И делфи не исключение

Хотелось бы увидеть пример использования функционального и тем более декларативного принципа в Delphi


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Dimonka2
Дата 29.5.2012, 18:51 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(DarkProg @  28.5.2012,  19:54 Найти цитируемый пост)

Как дорастете, так и начинайте использовать.

Как дорастете, так и начинайте не использовать.  smile 
PM MAIL   Вверх
cemick
Дата 29.5.2012, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(k0rvin @  28.5.2012,  23:53 Найти цитируемый пост)
Не в такое уж и последнее

нытики были всегда, но последние года полтора стало модно говорить, что ООП сакс
Цитата(k0rvin @  28.5.2012,  23:53 Найти цитируемый пост)
Хотелось бы увидеть пример использования функционального и тем более декларативного принципа в Delphi 

Те же анонимный фукции, замыкание, выразительная черта функциональных языков. Использование каких то принципов той или иной парадигмы ведь не сводиться к использованию явных поддерживаемых синтаксических конструкций языка, ссылку на http://programmer.97things.oreilly.com не просто так давал. К сожалению в Делфи нет атрибутов как в C#, которые можно отнести к декларативному программированию, но никто не запрещает использовать какие то принципы такого подхода при написание своих приложений в виде DSL, файлов разметки и т.п.  
Сравнение языков в wiki
PM MAIL WWW   Вверх
k0rvin
Дата 30.5.2012, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(cemick @ 29.5.2012,  19:52)
Те же анонимный фукции, замыкание, выразительная черта функциональных языков.

Это есть сейчас практически в любом языке. В чисто ООП-шном SmallTalk'80 есть блоки кода, так что это не очень выразительная черта.

А где нормальный порядок вычислений (call by name)? Ну или (актуальней) ленивость (call by need)?

Цитата(cemick @ 29.5.2012,  19:52)
Использование каких то принципов той или иной парадигмы ведь не сводиться к использованию явных поддерживаемых синтаксических конструкций языка

Не сводится, но синтаксис иногих языков таков, что выходить за рамки подходов, поддерживаемых языком "искаробки", весьма накладно и неудобно. Например в Java нет синтаксиса анонимных функций, но можно использовать анонимные классы, да только выглядит это так, что лучше б нельзя было.

Цитата(cemick @ 29.5.2012,  19:52)
но никто не запрещает использовать какие то принципы такого подхода при написание своих приложений в виде DSL, файлов разметки и т.п. 

Но это же будет не часть Делфи, а другой, внешний, язык, для которого нужно будет писать полноценную реализацию (парсер, интерпретатор).

Цитата(cemick @ 29.5.2012,  19:52)
Сравнение языков в wiki

Ну так тут и сказано, что ФП в Делфи "поддерживается очень ограниченно", а ДП вообще не поддерживается.

Цитата(cemick @ 29.5.2012,  19:52)
нытики были всегда, но последние года полтора стало модно говорить, что ООП сакс

Оу, ну если для тебя Дейкстра, Карделли, Армстронг и другие -- просто нытики, "ниасилившие ООП", а их статьи про недостатки ООП -- всего лишь нытье, то я умываю руки.




--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
C4EBA
Дата 30.5.2012, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Leklerk, почитай книгу 
Иванова Объектно-ориентированное программирование (319 с) pdf
Это одна из о-о-о-очень немногих, к сожалению, книг на тему ООП в Дельфи.
В книге программа для выполнения учебного примера вначале разрабатывается в процедурном стиле, потом - в ООП. Думаю, многое станет понятно.
ЗЫ. Не стоит, думаю, говорить, что книга есть в Сети.
PM   Вверх
superVad
Дата 30.5.2012, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

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



Leklerk, почитай это - ссылка
Не конкретно про ООП, но имеет смысл ознакомится полностью. Там в конце есть про это.
PM MAIL   Вверх
cemick
Дата 31.5.2012, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(k0rvin @  30.5.2012,  09:17 Найти цитируемый пост)
Оу, ну если для тебя Дейкстра, Карделли, Армстронг и другие -- просто нытики, "ниасилившие ООП", а их статьи про недостатки ООП -- всего лишь нытье, то я умываю руки.

смотрим Демагогические приемы: http://ru.wikipedia.org/wiki/%D0%94%D0%B5%...%B3%D0%B8%D1%8F

Я не говорил про "неасилевших", понятно что у каждого течения есть свои яркие представители, которые разбираются в вопросе и ведут за собой ничего не понимающих последователей, которые могут лишь повторят за светлыми умами. Несогласные есть всегда.  Я лишь акцентировал внимание, что в последнее время в девелоперском комьюнити эта тема стала как никогда жаркой.
Но есть, как  я полагаю, факт, что ООП показала свою применимость и успешность, почти все сложные успешные программные системы и комплексы которые мы сейчас имеем так или иначе используют ООП. В конце концов это удобный (очередной) способ группировки кода, просто не надо ставить равенство между ООП и наследование, есть свойства ООП,  ненадлежащие и повсеместное использование которых может пойти во вред, что тут спорить. 
PM MAIL WWW   Вверх
k0rvin
Дата 31.5.2012, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(cemick @ 31.5.2012,  12:23)
Но есть, как  я полагаю, факт, что ООП показала свою применимость и успешность, почти все сложные успешные программные системы и комплексы которые мы сейчас имеем так или иначе используют ООП.

Вы внутренности этих успешных систем видели? Уж не благодаря ли огромной толпе манки-кодеров, появившихся в ходе раскрутки ООП, а не качесвту инструмента, "почти все сложные успешные программные системы и комплексы которые мы сейчас имеем так или иначе используют ООП"? Я однажды решил почитать документацию по Spring, посмотрел оглавление и передумал. Паттерн на паттерне и паттерном погоняет. Я конечно не хочу сказать, что везде так, но склонность строить Фабрики Фабрик Фабрик Топоров для наколки дров вместо собственно топоров довольно типична для ООП-софта. ООП должно было уменьшить сложность, а получилось наоборот =/

Цитата(cemick @ 31.5.2012,  12:23)
В конце концов это удобный (очередной) способ группировки кода, просто не надо ставить равенство между ООП и наследование

Я и не ставлю.

Цитата(cemick @ 31.5.2012,  12:23)
есть свойства ООП ненадлежащие и повсеместное использование которых может пойти во вред, что тут спорить.

Как и любое свойство любого подхода, да. Думаю автору будет полезно узнать не только о том, когда стоит применять ООП, но и о том, когда оно менее уместно.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Leklerk
Дата 1.6.2012, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Большое спасибо! C4EBA, спасибо за книгу, superVad, за ссылку.
PM MAIL ICQ   Вверх
drkot
Дата 1.6.2012, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


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

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



Думаю тему надо во флудилку перенести, а то троли уже накинулись...


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
bems
Дата 2.6.2012, 00:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

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



в клуб пойдет


--------------------
Обижено школьников: 8
PM MAIL   Вверх
northener
Дата 2.6.2012, 01:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Leklerk @  1.6.2012,  08:02 Найти цитируемый пост)
Большое спасибо! C4EBA, спасибо за книгу, superVad, за ссылку. 

Имхо, автор ни книгу, ни "по ссылке" ничего читать не станет. :(
А будет вновь и вновь задавать свои "дурацкие вопросы".

Добавлено через 2 минуты и 24 секунды
А так топик уже перенесли!
Не успел, значит. smile


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle

Добро пожаловать в форум группы "Delphi".

В разделе разрешается:

  • Флудить (в приемлемых величинах)
  • Обсуждать модерирование данного раздела (но не его модератора)
  • Добавлять свои правила если они не противоречат существующим
  • Делать наезды на пешеходов***

Строго запрещено:

  • Размещать рекламу
  • Совершать оскорбления личностей
  • Материться
  • *** Пешеходами не являются (ко)модераторы, админы, участники клуба.

Если Вам понравилась атмосфера форума, заходите к нам чаще! Люблю, целую, вечно Ваш, THandle.

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


 




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


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

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