[Devel] Обсуждение вопросов по стенду

Pavel Vaynerman vpashka на gmail.com
Ср Окт 13 22:00:47 MSD 2010


> Это терминологическая особенность классификации. Глобальными я назвал
> такие состояния, которые навешиваются над группой объектов и
> управляются сразу для всей группы. Довольно странно дублировать код
> обработки таких групповых состояний в каждом новом объекте.
Это две разных проблеммы. Умение не делать копипаста
(хотябы за счёт наследования от базового класса с общей логикой)
т.е. владение языком програмирования. И проблемма архитектурного решения
вопрос где должна быть логика внутри объекта или в каком-то глобальном 
"внешнем" механизме...
Я вижу эту делемму именно так..
Но считаю, что более универсально и правильно, один раз реализовать в объекте 
логику обработки любого количества датчиков. И тогда уже не важно, один он или 
много.. а также не важно.. работают ли с какими-то из этих датчиков другие 
объекты..

Вообщем ты предлагаешь "связать" виджеты между собой.. а я считаю, что чем
меньше связей между виджетами, тем унивесальнее и те легче их потом отдельно
использовать.. И что стремится надо, к минимизации связей..


> Нет, это важно. Когда датчик относится сразу к нескольким объектам и
> это архитектурно не зафиксировано, очевидно, будет cut&paste в
> обработке событий каждого отдельного объекта.
Ну опять же.. копипаст - это просто неумение писать программы..


> > Как по твоему, если у нас есть контроллер (с коротым есть связь) который
> > предоставляет информацию только об одном объекте. Датчик связи -
> > глобальный или локальный для виджета отображающего состояние этого
> > объекта?
> 
> В частном случае, он локален. Но, в общем, у нас с контроллером обычно
> связано несколько датчиков. 
Нет. Как раз в общем случае (в пределе).. может быть ситуация когда с 
контроллером связан один датчик и в этом случае при подходе, что виджет "умеет
работать с любыми датчиками" - ничего менять не придётся..

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

> Собственно, ещё раз, глобальными состояними названы такие воздействия
> на отображаемые объекты, которые, в общем случае, могут влиять на
> группу объектов (например, отсутствие связи с контроллером). Кроме
> того, изменения глобального состояния зависит от одного датчика,
> который тоже влияет сразу на группу объектов (например, квитирование).
> 
> Получаем два вида глобальных воздействий на объект:
>  - изменение состояний группы объектов по заданному датчику;
>  - реакция объекта на изменения заданного датчика, при нахождении
> объекта в определённом состоянии.
Зачем какому-то виджету знать, что другой виджет тоже работает с данным 
датчиком? В чём смысл этой связи между виджетами?
Если ты хочешь решить проблемму "дублирования кода в виджетах", путём внесения
механизма группирования куда-то наружу. То я думаю, можно найти и другие 
способы.. (как я указал, например за счёт наследования (подмешивания)
виджета от классов в которых реализована нужная логика)..





----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.etersoft.ru/pipermail/devel/attachments/20101013/5da06231/attachment.html>


Подробная информация о списке рассылки Devel