Я знаю, что важно отделять код пользовательского интерфейса от кода предметной области — приложение легче понять, поддерживать, изменять и (иногда) изолировать ошибки. Но вот мой ментальный блок...
Delphi поставляется с компонентами с методами, которые делают то, что я хочу, например, компонент RichText Memo позволяет мне работать с форматированным текстом. Другие компоненты, такие как сетка строк TMS, не только делают то, что я хочу, но я доплачиваю за функциональность. Эти функции помещают R в RAD.
Кажется нелогичным писать свои собственные классы, чтобы делать то, что кто-то уже сделал за меня. Это заново изобретать колесо [когда-нибудь пробовали работать напрямую с форматированным текстом? :-) ] Но если я буду использовать функциональность, встроенную в подобные компоненты, то в конечном итоге я получу много перемешанного пользовательского интерфейса и доменного кода — у меня будет форма, большая часть кода которой встроена в обработчики событий.
Как вы решаете эту проблему? ... Или, если я хочу продолжать использовать код, который другие уже написали для меня, как бы вы предложили мне решить эту проблему?