Главная страница
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.5 MB
Время: 0.043 c
15-1174150455
Real
2007-03-17 19:54
2007.04.15
Микроволновка - что можно приготовить?


2-1174632240
WhiteWolf
2007-03-23 09:44
2007.04.15
Помогите разобраться с сокетами


4-1164360802
Виктор1
2006-11-24 12:33
2007.04.15
Определение фокуса чужого TEdit


1-1171354927
ViToTiV
2007-02-13 11:22
2007.04.15
Как не активировать главную форму дочерними


2-1174896530
Dmitry_177
2007-03-26 12:08
2007.04.15
Унаследование структуры