Существует ли какое-либо программное обеспечение для создания диаграмм для шаблона MVC с генерацией кода? - PullRequest
5 голосов
/ 25 декабря 2009

Паттерн MVC использует делегатов для соединения большого количества объектов классов с каждым овером. Для Qt это сигналы и слоты, для C # - события, для Java - замыкания. Но все известные мне дизайнеры диаграмм и UML работают только с наследованием и композицией дочерних и родительских элементов :(. Имеется ли какое-либо программное обеспечение, которое позволяет визуально рисовать классы, проектировать делегатов, подключать делегатов к конечным точкам и генерировать код на основе такой «модели»?

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

Ответы [ 4 ]

5 голосов
/ 29 декабря 2009

У меня был хороший опыт работы с Корпоративным архитектором Sparx System . Вы можете загрузить полнофункциональную 30-дневную пробную версию.

2 голосов
/ 16 января 2010

Если вы ищете что-то бесплатное / с открытым исходным кодом, всегда есть:

StarUML

2 голосов
/ 25 декабря 2009

AndroMDA поддерживает создание веб-интерфейса пользователя из модели UML, которая определяет поток приложения. См. Панель критериев поиска в документации Getting Started Java . Если вы используете картридж AndroMDA BPM4Struts, уровень представления будет основан на MVC. Не уверен, что это то, что вы ищете.

PS: история MDA не полна успешного опыта - и это эвфемизм - и я бы не рекомендовал этот подход (даже меньше для уровня представления)

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

Единственный способ успешно применить MDA - это наоборот. Определите модель в свободном DSL и сгенерируйте необходимые вам диаграммы.

Я использовал TogetherJ и Enterprise Architect, но я не впечатлен. Хорошие диаграммы, паршивый рабочий процесс. Я очень предпочитаю среду Smalltalk (желательно с MOOSE ) и несколько генераторов диаграмм.

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