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

Вниз

пример использования интерфейсов   Найти похожие ветки 

 
CHES ©   (2004-07-22 11:30) [0]

Hi All. Подскажите пожалуйста пример, когда использование интерфейсов может реально упростить решение какой-либо задачи. В случай с СОМ понятно.
Никак не могу понять где есть смысл их использовать.


 
Суслик ©   (2004-07-22 11:33) [1]

аналог множественного наследования.

вообще читайте книги следующего содержания:
uml, проектирование, паттерны проектирования.
авторы Буч, Гамма, (больше не помню).

В этой области интерфейсы применяются очень здорово.

Купите книге Эрик Хармон "Com в дельфи". Она есть на www.books.ru. Там есть несколько примеров.


 
ИдиотЪ   (2004-07-22 11:36) [2]

когда ты знаешь, что должно быть снаружи, а внутреннее содержание тебя пока не беспокоит


 
Sandman25 ©   (2004-07-22 11:47) [3]

Пример из головы.
Что-то должно уметь показывать данные. Если это форма, то она данные показывает на себе. Если это какой-нибудь TObject, то он показывает данные с помощью MessageBox.
Действительно, в основном интерфейсы использую с различными паттернами проектирования (слабое связывание, посетитель, состояние)


 
iZEN ©   (2004-07-22 22:31) [4]

EJB


 
Sandman25 ©   (2004-07-23 09:14) [5]

[4] iZEN ©   (22.07.04 22:31)

Это не Delphi


 
AlexG ©   (2004-07-24 12:16) [6]

Очень простой пример. Если ты не хочешь следить за освобождением памяти, отводимой под твои классы, ереложи эту работу на COM. Она сама автоматически освободит память, если указатель на эту память выйдет за область видимости. Например (на словах):
- создаешь свой класс;
- создаешь интерфейс к нему;
- работаешь с классом через интерфейс;
- При выходе за обл. видимости или при присвоении NIL указателю на, предположим, IMyClass, память, отведенная при создании ( ptrMyClass := TMyClass.Create as IMyClass;), освободится автоматически.


 
iZEN ©   (2004-07-25 07:39) [7]

to AlexG ©   (24.07.04 12:16) [6]
COM не может ничего сделать с кольцевыми ссылками.


 
Piter ©   (2004-07-25 17:15) [8]

CHES ©   (22.07.04 11:30)
Подскажите пожалуйста пример, когда использование интерфейсов может реально упростить решение какой-либо задачи. В случай с СОМ понятно.


ну так интерфейсы и разрабатывались для поддержки COM. Зачем приводить другие примеры? Все остальное обычно решается классами...


 
AlexG ©   (2004-07-25 18:35) [9]

to iZEN
Сам СОМ не может, а вот платформа .NET - может.


 
nikkie ©   (2004-07-26 04:27) [10]

>iZEN
>COM не может ничего сделать с кольцевыми ссылками.

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

>AlexG
>Сам СОМ не может, а вот платформа .NET - может.

и как же она справляется?


 
AlexG ©   (2004-07-26 23:33) [11]

to nikkie
Я сам не проверял, но MS утверждает это. Во всяком случае, мусор убирает (проверено).


 
nikkie ©   (2004-07-26 23:48) [12]

>но MS утверждает это
утверждает что?


 
Sergey Masloff   (2004-07-26 23:53) [13]

Piter ©   (25.07.04 17:15) [8]
>ну так интерфейсы и разрабатывались для поддержки COM.
Вот так вот. А мужики-то и не знают.
Господин Piter, вы с абсолютно серьезным видом несете полную чушь. Концепция интерфейса появилась лет за ...дцать до того как COM появился.


 
AlexG ©   (2004-07-26 23:57) [14]

Что механизм сборки мусора у платформы .NET справляется и с кольцевыми ссылками. Оригинал в книге: Разработка Windows-приложений на VB.NET и VC#.NET Учебный курс MCAD/MCSD страница 33, абзац "Циклические ссылки".
Специально книгу достал, чтобы быть точным. Теперь осталось проверить, чтобы убедиться в этом.


 
nikkie ©   (2004-07-27 00:13) [15]

этой книжки у меня, конечно, нет.
посмотрел, что Рихтер пишет на тему сборщика - как он говорит, .NET-овский сборщик строит граф достижимых объектов. вроде да, при таком методе проблема кольцевых ссылок решается.



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

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

Наверх





Память: 0.48 MB
Время: 0.068 c
14-1091004315
olookin
2004-07-28 12:45
2004.08.15
Картинки с утреннего потопа в Екатеринбурге


14-1090820397
syte_ser78
2004-07-26 09:39
2004.08.15
как програмно создать ярлык?


9-1083511587
Black Lord
2004-05-02 19:26
2004.08.15
Проблема с вращением сцены в OpenGL


3-1090241722
Григорьев Антон
2004-07-19 16:55
2004.08.15
Формат хранения данных в БД


14-1090990707
syte_ser78
2004-07-28 08:58
2004.08.15
Помогите, а то достало уже!!!!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский