Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.15;
Скачать: CL | DM;

Вниз

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

 
Ш-К   (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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.049 c
15-1174490202
Vendict
2007-03-21 18:16
2007.04.15
MOPSLinux 5.1


2-1174556130
student:)
2007-03-22 12:35
2007.04.15
VPN на delphi


9-1147104863
except 2.0
2006-05-08 20:14
2007.04.15
VCL окно во весь экран.


1-1171628997
iXT
2007-02-16 15:29
2007.04.15
TService + TThread + TXMLDocuent


2-1174892607
Sonia
2007-03-26 11:03
2007.04.15
Перехват ошибки подключения к БД через OraSession





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