Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];

Вниз

Что прочитать про ООП?   Найти похожие ветки 

 
iwan   (2008-02-08 10:40) [0]

Хочу найти хороший материал про ООП в delphi, начал читать Кэнту М. Delphi 7 для профессионалов; но на самом деле там в разделе про ооп - ерунда: ну да объясняют базовые принципы - наследование и т.д., я их и так знал.

Но никакого хорошего описания, например в каком случае применяют dynamic а где virtual - нет. Идеально так хотелось бы вообще с примерами проектирования классов, сложные какие-то примеры где и как лучше сделать то и сё, спроектировать класс.

Что порекомендуете?


 
Anatoly Podgoretsky ©   (2008-02-08 10:43) [1]

> iwan  (08.02.2008 10:40:00)  [0]

Это уже справочник нужен, а он в Дельфи называется справка.


 
Palladin ©   (2008-02-08 10:51) [2]


> Но никакого хорошего описания, например в каком случае применяют
> dynamic а где virtual - нет. Идеально так хотелось бы вообще
> с примерами проектирования классов, сложные какие-то примеры
> где и как лучше сделать то и сё, спроектировать класс.

ну выборе между dynamic или virtual к теории ООП и ООА никакого отношения не имеет, но автоответчик мне подсказывает:
Гради Буч, ООА и ООП


 
Sandman25   (2008-02-08 10:54) [3]

сложные какие-то примеры где и как лучше сделать то и сё, спроектировать класс

Для этого вообще лучше изучить паттерны проектирования.


 
Игорь Шевченко ©   (2008-02-08 10:59) [4]

Конопку можно почитать. Рэя.


 
Семеныч   (2008-02-08 12:18) [5]

> iwan   (08.02.08 10:40)  

Если общие принципы ООП ("наследование и т.д.") уже известны, то читать общие книжки по ООП (Буч и пр.), соответственно, уже не нужно. Нужно читать не про ООП "вообще", а про ту или иную конкретную реализацию объектой модели.

И если интересует конкретная реализацию объектой модели в Delphi ("в каком случае применяют dynamic а где virtual"), то книга Рэя Конопки - лучший вариант.

Во всяком случае, насчет "примеров проектирования классов, сложные какие-то примеры где и как лучше сделать то и сё, спроектировать класс" после усвоения этой книги проблем не будет.


 
Palladin ©   (2008-02-08 12:24) [6]


> Если общие принципы ООП ("наследование и т.д.") уже известны,
> то читать общие книжки по ООП (Буч и пр.), соответственно,
> уже не нужно.

да ну что вы говорите... Буч конечно так... мелкую брошюрку в 10 страниц написал про "наследование и тд"... он не об общих принципах пишет если что...


 
ketmar ©   (2008-02-08 12:26) [7]

>[6] Palladin © (2008-02-08 12:24:00)
не нужно, не нужно. моск возрвётся.

---
Understanding is not required. Only obedience.


 
Семеныч   (2008-02-08 12:46) [8]

> Palladin ©   (08.02.08 12:24) [6]

И у Буча можно найти ответ на вопрос "в каком случае применяют dynamic а где virtual"?
:о)

Я не нашел. Может, плохо искал - но не нашел. Да и трудно предположить, что Буч вообще рассматривает динамические методы, поскольку они характерны именно (если не исключительно) для Delphi-модели ООП. Зато Буч рассматривает некоторые вещи, которых в Delphi как раз нет (например, дружественные классы - friend).

А ведь человек именно о Delphi-модели и спрашивал...


 
ketmar ©   (2008-02-08 12:54) [9]

>[8] Семеныч (2008-02-08 12:46:00)
а мы тебе намекаем, что «эксперт по запорожцу дяди Вани» — ноль.

---
Understanding is not required. Only obedience.


 
Anatoly Podgoretsky ©   (2008-02-08 12:57) [10]

> Семеныч  (08.02.2008 12:46:08)  [8]

Вот из справки и этого достаточно

Virtual versus dynamic

Virtual and dynamic methods are semantically equivalent. They differ only in the implementation of method-call dispatching at runtime. Virtual methods optimize for speed, while dynamic methods optimize for code size.

In general, virtual methods are the most efficient way to implement polymorphic behavior. Dynamic methods are useful when a base class declares many overridable methods which are inherited by many descendant classes in an application, but only occasionally overridden.

Note

Only use dynamic methods if there is a clear, observable benefit. Generally, use virtual methods.Virtual versus dynamic


 
Palladin ©   (2008-02-08 13:18) [11]


> И у Буча можно найти ответ на вопрос "в каком случае применяют
> dynamic а где virtual"?

я не говорил, что это можно у него найти


> Зато Буч рассматривает некоторые вещи, которых в Delphi
> как раз нет (например, дружественные классы - friend).

в Delphi любые два класса расположенные в одном модуле являются даже более чем дружественными

Человек спрашивал

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

Идеальным ответом на это является Буч, он учит именно проектировать классы их диаграммы, разрабатывать статические и динамические модели приложения, а не тому что такое "наследование и тд" и кстати рассматривает больше тонкие связи между классами чем "три кита". Учит документированию проекта (нотация Буча мне кстати больше нравится чем UML). Человеку постигшему сей толмут уже и паттерны не страшны, он к ним готов. Человеку постигшему сей толмут уже и монопенисуально есть ли в Делфи дружественные классы или нет. Он будет уметь проектировать исходя из ограничений среды разработки.


 
Palladin ©   (2008-02-08 13:21) [12]

Человек может знать что такое "наследование и тд", вот только басня товарища Крылова "Мартышка и очки" будет сценарием к спектаклю "Разработка программы"


 
ketmar ©   (2008-02-08 13:28) [13]

>[11] Palladin © (2008-02-08 13:18:00)
>толмут
талмуд. %-)

---
Understanding is not required. Only obedience.


 
Palladin ©   (2008-02-08 13:30) [14]

StringReplace([11],"толмут","талмуд",[rfReplaceAll,rfIgnoreCase]);



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.007 c
15-1202241472
Human
2008-02-05 22:57
2008.03.16
IRC


15-1202049248
AntonUSAnoV
2008-02-03 17:34
2008.03.16
Delphi виснет !


8-1176870118
Sholah_Weras
2007-04-18 08:21
2008.03.16
Работа с DDS в DirectX.


2-1201868147
S@shka
2008-02-01 15:15
2008.03.16
Привязка формы к окну другого приложения (Form1.Parent - ??)


15-1202286490
Fredy314
2008-02-06 11:28
2008.03.16
Балансирование трафика





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский