Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Фреймворк Violet

Глава 22 из книги "Архитектура приложений с открытым исходным кодом", том 1.

Оригинал: "Violet", глава из книги "The Architecture of Open Source Applications"
Автор: Cay Horstmann
Перевод: Н.Ромоданов

22.1. Введение в Violet

Violet является легковесным редактором языка UML, предназначена для студентов, преподавателей и авторов, которым нужно быстро создавать простые диаграммы UML. Он очень прост в освоении и использовании. Он рисует диаграммы классов, последовательностей, состояний, объектов и сценариев использования (use-case). (С тех времен были добавлены другие типы диаграмм). Это кросс-платформенное программное обеспечение с открытым исходным кодом. В качестве своего ядра Violet использует простой, но гибкий фреймворк работы с графами, который позволяет в полной мере использовать возможности графики Java 2D API.

Пользовательский интерфейс Violet преднамеренно простой. Вам для того, чтобы вводить атрибуты и методы, не придется проходить через утомительную последовательность диалогов. Вместо этого, вы просто набираете их в текстовом поле. С помощью нескольких щелчков мыши, вы можете быстро создавать привлекательные и полезные диаграммы.

Violet не пытается стать программой для использования UML промышленного уровня. Вот некоторые возможности, отсутствующие в Violet:

  • Violet не генерирует исходный код из диаграмм UML или диаграммы UML из исходного кода.
  • Violet не осуществляет никакой семантической проверки моделей; вы можете использовать Violet для рисования противоречивых диаграмм.
  • Violet не создает файлы, которые могут быть импортированы в другие инструментальные средства, работающие с UML, и не может читать файлы моделей других инструментальных средств.
  • Violet не пытается автоматически выполнять компоновку диаграмм, за исключением простой возможности "привязки к сетке".

(Попытка решить некоторые из этих ограничений позволило создать хорошие студенческие проекты).

Когда Violet создал культ дизайнеров, которые хотели чего-то большего, чем просто набросок на салфетке, но менее сложного, чем инструментальные средства UML промышленного уровня, я опубликовал код в SourceForge под лицензией GNU General Public License. Начиная с 2005 года к проекту присоединился Александр Пелегрин (Alexandre de Pellegrin), предложивший плагин для Eclipse и более красивый пользовательский интерфейс. С тех пор он сделал в архитектуре множество изменений и в настоящее время он является основный разработчиком, сопровождающим проект (primary maintainer).

В этой статье я рассмотрю некоторые из исходных архитектурных решений, выбранных в Violet, а также покажу их эволюцию. Часть статьи сосредоточена на вопросах редактирования графов, но и другие вопросы, например, использование свойств JavaBeans и хранение результатов, архитектура Java WebStart и плагины, должны быть интересны для всех.


Продолжение статьи: 22.2. Графический фреймворк.