Re: Разделение GUI и данных
От: Аноним  
Дата: 25.02.04 15:09
Оценка:
Здравствуйте, Dimonka, Вы писали:

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

D>Постараюсь на пальцах обьяснить, что задумано:
D>Программа будет разделена на модули.
D>Базовый класс модуля будет иметь "Представления" (диалоги или панели), "Представления будут иметь свои команды, которые будут выводится на тулбар и в меню, и контролы, которые будут описаны в XML виде.
D>А уже конкретные реализации модулей будут содержать изменяемые данные.
D>Допустим с простыми данными (строки, числа итд) всё понятно. Каждый контрол имеет идентификатор данных (строковый или числовой), с которыми он связан и запрашивает Представление дать ему данные, Представление запрашивает модуль, а модуть уже решает, какие данные надо передать (цепочка обязанностей).
D>А вот что делать со сложными данными? Допустим надо отобразить какую-нибудь таблицу со списком элементов, которые хранятся в каком-нибудь классе модуля. И этот список может динамически меняться. Как отобразить данные из класса? Передавать ссылку на класс в контрол? Делать промежуточный класс (адаптер, который превратит класс в подобие дэйтасета) для связи контрола и класса данных?

D>Подскажите, как решаются такие задачи.


Достойная задача! Переходи полностью на прикладные (бизнес) объекты БО. Все твои представления д.б. реализованы в терминах БО. Для него д.б. определены операции создания/сохранения/поиска, а также получения списков подчиненных БО. UI в этом случае придется делать на простых элементах. Рассмотри вариант автоформ, т.к. уровень БО полностью описывает и сами объекты и связи между ними.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.