Среды MVC / MVP / MVVM для приложений Java с графическим интерфейсом - PullRequest
5 голосов
/ 04 июня 2010

Кто-нибудь может порекомендовать (предпочтительно с открытым исходным кодом) платформу для отделения GUI от модели в настольных приложениях Java?

Ответы [ 5 ]

5 голосов
/ 04 декабря 2010

Фундаментальное отделение модели GUI от вашего основного Java-кода лучше всего сделать с помощью библиотеки привязки данных. Это значит, что у вас есть бизнес-код pojo, у вас есть код компонента GUI, и вам не нравится писать логику для их постоянной синхронизации при обновлении представления и реализации бизнес-логики. Так что не надо. Найдите зрелую структуру привязки данных для используемых вами графических элементов и изучите их; пусть синхронизирует управление экраном с вашим кодом pojo.

JGoodies и beanbindings являются хорошими примерами Swing-вариантов связывания с ОО-моделью. Основные части JGoodies с открытым исходным кодом. Если вы перейдете по ссылке / article на сайте jgoodies, там есть статьи о шаблонах и привязке данных. Хотя каждая инфраструктура привязки имеет свои классы, шаблоны для написания хорошего чистого кода переносимы между платформами GUI и инфраструктурой привязок.

Если вы загрузите инструмент WindowsBuilderPro с открытым исходным кодом, то у вас есть отличные примеры как в Swing, так и в SWT для создания хороших связей данных. Пример Swing Jphonebook использует библиотеку beanbindings. WindowsBuilderPro - это графический интерфейс для перетаскивания; Раньше вы платили за это как ведущий конструктор графического интерфейса, работающий с ведущими бесплатными библиотеками графического интерфейса. Он был куплен компанией Google и имеет открытый исходный код, чтобы они могли усилить поддержку графического конструктора экрана для GWT (каркас веб-интерфейса Google).

Этот инструмент GUI Builder имеет отличный пример кода и теперь является отличным инструментом с открытым исходным кодом. Он демонстрирует один и тот же пример телефонной книги в библиотеках Swing и SWT GUI, чтобы продемонстрировать мощь инструмента для перетаскивания мышью. Так что это отличный способ сравнить и сопоставить Swing с SWT, изучая привязки данных.

3 голосов
/ 20 августа 2012

Я настоятельно рекомендую вам попробовать ZK Framework. Я не нашел до сегодняшнего дня такой основы Srtong. В моей компании мы применили новые проекты в течение нескольких недель, используя новейшие шаблоны, такие как MVVM. Стиль программирования очень похож на разработку классического «настольного» приложения.

PS: Я никоим образом не связан с людьми ZK. Я просто использую их рамки.

3 голосов
/ 04 июня 2010

Java Swing на самом деле хорошо использует MVC именно для этой цели.

1 голос
/ 17 декабря 2010

Бискотти - это отличная основа

1 голос
/ 05 июня 2010

Из вашей реакции на предположение, что Swing является MVC-фреймворком для настольных приложений, я думаю, что вам действительно нужен какой-то каркас генератора, который будет генерировать код «модель» и «представление» из спецификаций более высокого уровня. Примеры, с которыми я (более или менее) знаком, - это Eclipse EMF, GEF и связанные с ними технологии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...