Re[9]: 2AVK: Ты видимо забыл запостить...
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.06.03 14:15
Оценка:
Здравствуйте, AndrewVK, Вы писали:

VD> Да. Убедил КОМ — это никуда не годится.


AVK>Его катавасия с ActiveX никуда не годится.


Это другая история. Ни КОМ, ни интерфейсы тут не причем. Ну, и на счет не годится вопрос спорный. Все работает. Другое дело что документировано все плохо.

AVK>Не уверен. Я пока еще ничего не решил. Посмотрю существующие, потом определюсь.


Очень советую не заниматься созданием с нуля. Уйдеш с головой. Я как бы сам такой, так что тут меня лучше слушать очень внимательно.

AVK>Ну вобще то уже сейчас многие кнопки имеют отношение не к контролу, а именно к объектной модели. Просто ввиду того что раньше вся логика ьыла только в контрролах они привязываются к контролу. Вот давай посмотрим к примеру тулбар форума

AVK>1) Новое сообщение, реплай. Однозначно не имеет никакого отношения к контролу. Он даже никак на них не реагирует. То что сейчас этот код в контроле это неверный дизайн.

А к фиче оно имеет отношение? Диалог нового сообщения является частью гуи фичи. А гуи — это как раз задача контрола. Если мы хотим сделать хоум универсальным, нужно стараться не интегрировать гуи фич и код формы. Сам по себе ответ конечно желательно было бы оформить в виде метода у Msg. Но гуи к нему это уже другой вопрос.

Собственно никто не запрещает создавать ОО-модель ГУИ. Но все же от фич ее нужно отделать. Каждая фича будет иметь свою ОО-модель, в то время как сами фичи универсальны.

AVK>2) 5 кнопок пометки сообщений — прямого отношения к контролу не имеет. Пометка должна производится над объектной моделью, а контрол просто отражать эти изменения. Его участие в этом деле вторично


Кнопка? Да без контрола она вообще смысла не имеет. Если в первом пункте еще можно было говорить об ответе на активное сообещие, то помечаться как прочитанные могут сразу несколько сообщений, а значит эта кнопка зависит от списка выделенных сообщений. Выделение не являются частью ОО-модели, и стало быть бещ контрла в этой кнопке смысла нет.

AVK>3) Развернуть дерево. Вот это действительно именно контрол, но ты сам же эту опцию заблокировал.


Не более чем предыдущее. Ну, а заблокировал ты и сам знаеш почему.

AVK>4) Навигация по истории. Вот наверное единственные кнопки, которые можно без оговорок отнести к контролу.

AVK>5) В меню есть еще сохранение сообщения. Опять же — никакого отношения к контролу.
AVK>Итак, в итоге большинство воздействий прямого отношения не имеют. А иногда вобще никакого отношения.
AVK>Вот поэтому меню и тулбар это несомненно свойства именно фичи, а не контрола.

Ну, я вроде все обяснил. Или ты не понял? К фичам меню точно не отностся. Это гуи. Пусть оно будет отдельно от катлет.

VD>Да хоть в анус они будут вставляться. Фича отдала свой гуи в виде абстракции — контрола. Дальше гуи — это пооблемы этого контрола. Ему сама фича может быть даже не нужна.


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


Я уже выше сказал почему ты не прав. Могу попробывать по другому. Фича — это возможность хоума. Она активируется и работа ведется с ней. После активации весь гуи это уже отдельная песня. Фича же полиморфная структура. Нефига на нее цеплять, то о чем ей и знать не интересно.

Обработка меню и тулбаров прераготива контрола. Это попросту его честь. Просто мы создали механизм позволяющий часть его размещать вне него.

VD>Нормальная логика. Погляди как через ухо ты сделал. Фича отдает тублар который реально берется из контрола.


AVK>Это недоделки. Фича же должна его и генерить.


Ага. Доделки будут тогда когда ты будешь передавать управление при вызове кномки в контрол и обратно. Дурь да и только. Пусть каждый занимется своим. Фича обеспечивает возможности, а гуи живет своей жизнью.

VD>При этом фича завязывается на контрол. Она так же вынвждена быть завязана на меню. А так получается стройная концепция. Фича обязана знать только о контроле. Контрол определяет весь гуи.


AVK>Вот собственно почему? Чем контрол важнее меню?


Он не важнее. Он "определяет весь гуи".

VD> При этом он может вообеще незнать о наших заморочках. Например, какие-нибудь линки без пробелм могут быть отдельным контролом. Если же контролу требуется отобразить меню или тулбар он отдает интерфейс.


AVK>А ты подумай о том что контрол может быть один и тот же, а меню и тулбары разные.


Это проблемы контрола. Его внутренняя логика. Мы этому просто не должны мешать. Но независимость — это всегда хорошо (если не приводит к тормозам).

VD>Ты лучше вот о чем подумай. Иногда контролу нужно будет изменить тулбар или меню прямо на ходу.


AVK>Вспомни лучше MVC. Контрол это View, отчасти Controller. Зачем ты еще пытаешься навесить на него функции Model мне непонятно.


Ты снова пытаешся приплетать шаблоные вместо того чтобы думать. В терминах твоего MVC котрол это и влью и контролер в одном флаконе. Да и моедль, если вести речь о ОО-модели ГУИ. В жизни все сложенее. И примитивные концепции можно использовать только на элементарных ее частях.

Функции же будет пытаться наложить жизнь. Если у меня, например, нет выделенных строк, то и мометить сообщения как прочитанные я не имею права. При этом, было бы есетсвенно если соответсвующая кнопка была бы задизэйблена.
... << RSDN@Home 1.1 alpha 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.