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

Вниз

Чем хелперы отличаются от адаптеров?   Найти похожие ветки 

 
Ш-К   (2007-03-20 17:36) [0]

И что такого я могу с ними реализовать, что не смог бы реализовать с имплементным интерфейсом?


 
Джо ©   (2007-03-20 19:43) [1]

В первую очередь тем, что это разные вещи, особенно на уровне реализации :)


 
Ант   (2007-03-20 20:08) [2]

Собственно, если у тебя есть уже готовый класс, который ты не можешь менять
например
Memo1.Lines (TStrings)
то как ты собираешься тут вставлять имплементы?
Писать потомка ,а потом везде во всех формах заменять стандартный мемо на свой потомочный?
не гуд.


 
Ш-К   (2007-03-20 21:04) [3]

Да, имплементы здесь не причем. Годятся для расширения своих классов.
Но, если мне нужно расширить поведение чужого Memo1.Lines, я напишу:
iStrings: ImyStrings;
...
iStrings := TmyAdapterStrings.Create(Memo1.Lines);
iStrings.SortByLastSymbol;

Зачем нужны хелперы?


 
Ант   (2007-03-20 21:15) [4]


> Ш-К


А вот то, что ты написал, не удобно.
Нужно создать этот самый адаптер - лишняя строка  в коде, лишний расход памяти.
Толи дело
Memo1.Lines.SortByLastSymbol;
красота.

разумеется одну и ту же задачу можно решить разными способами. Речь об удобстве


 
Kolan ©   (2007-03-20 21:21) [5]

> Зачем нужны хелперы?

Ты не понял смысл.

Вот так должнополучится:
Memo1.Lines.SortByLastSymbol

Добейся такого с пом адаптера, тогда будим спорит что лучьше&#133


 
MeF Dei Corvi ©   (2007-03-20 21:30) [6]


> Зачем нужны хелперы?

А зачем усложнять себе жизнь и изобретать велосипеды? :)


 
Ант   (2007-03-20 21:48) [7]

Я вот тут провел некоторый  рефакторинг своего кода с активным использованием хелперов, и с изменением структуры юнитов.
В результате энтропия существующего кода снизилась очень существенно.

А если о велосипедах рассуждали бы все,
то и ООП никакого не было бы

Хорошо, что есть необусловленные разработчики


 
default ©   (2007-03-20 21:57) [8]

а что это?:)


 
Ант   (2007-03-20 22:02) [9]


> default ©  


Ой! Кто здесь?


 
Ш-К   (2007-03-20 22:19) [10]

Значит, помощи от них только убавления пары срочек "лишнего" кода.
А если мне надо рулить типами хелпера в рантайм. Что мне делать?
У хелперов даже наследования нет.

iStrings := GetAdapterClass(SomeState).Create(Memo1.Lines);

Как это на хелперы перевести?


 
Ант   (2007-03-20 22:24) [11]


> Ш-К  
</I
> У хелперов даже наследования нет.

>

Есть.


> А если мне надо рулить типами хелпера в рантайм.

А вот этого не надо. Для разных задач - разный инструментарий.


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


Это может даже не приводить к сокращению строк.
Всегда доп. метод хелпера можно представить как процедуру с передаваемым тужа параметром эксемпляром класса.

Просто так получается нагляднее


 
Kolan ©   (2007-03-21 09:29) [12]

> iStrings := GetAdapterClass(SomeState).Create(Memo1.Lines)
> ;
>
> Как это на хелперы перевести?

Извени это ТЫ сравнил &laquo;Хелпер&raquo; и &laquo;Паттерн&raquo;, сам и отвечай на этот вопрос&#133


 
DiamondShark ©   (2007-03-21 11:17) [13]


> Чем хелперы отличаются от адаптеров?

Хелпер -- это встроенная в язык реализация шаблона Адаптер.


 
Суслик ©   (2007-03-21 12:22) [14]

Господа, вы описание паттерна "Адаптер" почитайте прежде, чем говорить.
Особенно первые несколько строк, где описание.

Никоего отношения к хелперам не имеет.



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

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

Наверх





Память: 0.47 MB
Время: 0.036 c
6-1161763966
LexXL
2006-10-25 12:12
2007.04.15
webbrowser


3-1169787958
Шмфтнср
2007-01-26 08:05
2007.04.15
сортировка в SQL по нескольким параметрам, поможите


2-1173912636
Vulko
2007-03-15 01:50
2007.04.15
Как сохранить всю форму с содержимым в графич. файл?


3-1169558058
tytus
2007-01-23 16:14
2007.04.15
Подключение к Oracle 10g в библиотеке


1-1172088240
MNGLW
2007-02-21 23:04
2007.04.15
Использование библиотек WinZip





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