Как адаптировать доменные объекты к GUI в Java - PullRequest
3 голосов
/ 23 января 2010

Я новичок в архитектуре пользовательского интерфейса, и в прошлом я программировал очень простые пользовательские интерфейсы. Теперь я столкнулся с очень большой моделью предметной области. Поскольку я использовал разные OR-Mappers для хранения доменных объектов в плоской структуре данных, я подумал о том, чтобы сопоставить доменные объекты со стороной вида аналогичным образом.

Существуют ли какие-либо шаблоны или структуры, которые решают эту проблему?

Точнее, я хочу адаптировать доменные объекты для упрощения представления RCP простым способом.

Заранее спасибо

Ответы [ 3 ]

1 голос
/ 26 января 2010

А как насчет Метавиджет ?

Metawidget - это умный пользовательский интерфейс виджет ", который заполняет себя, в время выполнения, с соответствующими компонентами пользовательского интерфейса свойства вашего бизнеса объекты.

Metawidget делает это без внедрение новых технологий. Это проверяет ваш существующий бэкэнд архитектура (например, JavaBeans, существующие аннотации, существующий XML файлы конфигурации) и создает виджеты родные для вашего существующего интерфейсная часть (например, Swing, Java Server Faces, Struts, Android).

Я никогда не пробовал сам, но это выглядит многообещающе для такого рода картирования.

1 голос
/ 26 января 2010

Что касается Eclipse RCP, мне не известны какие-либо «фреймворки» для этого, но по крайней мере механизм JFace ContentProvider позволяет легко написать слой многократно используемых адаптеров, который обрабатывает представление классов вашего домена в средствах просмотра JFace .

Если вам нужны некоторые общие (или начальные) экраны CRUD для классов домена, возможно, вы можете использовать генерацию кода, отражение и / или динамические прокси для классов ContentProvider, принимая каждый класс домена (или классы) в качестве ввода. Однако это редко бывает так просто, как кажется.

0 голосов
/ 27 января 2010

Более полной структурой являются Naked Objects, я являюсь их коммиттером, а также ведущим в ряде родственных проектов. Одним из таких родственных проектов является Eclipse RCP viewer , хотя в настоящее время он остановлен. Не стесняйтесь связаться со мной через мой блог , если вам это интересно.

- Дан

...