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

UnixForum





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

Фреймворк Violet

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

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

Creative Commons. Перевод был сделан в соответствие с лицензией Creative Commons. С русским вариантом лицензии можно ознакомиться здесь.

В 2002 году я написал для студентов учебник по объектно-ориентированному проектированию и использованию шаблонов [Hor05]. Как и в случае многих книг, его появление было вызвано разочарованием, связанным с канонической учебной программой. Часто студенты информатики обучаются проектированию классов на первом курсе программирования, а затем у них отсутствует всякая дальнейшая практика объектно-ориентированного проектирования вплоть до курса инженерии программного обеспечения более высокого уровня. В этом курсе студенты спешно в течение пары недель проходят UML и шаблоны проектирования, что дает не более чем иллюзию знания. Моя книга была написана в поддержку односеместрового курса для студентов, имеющих опыт программирования на языке Java и умеющих использовать основные структура данных (обычно курсы CS1/CS2 на базе Java). В книге рассматриваются принципы объектно-ориентированного проектирования и использование шаблонов проектирования в контексте знакомых ситуаций. Например, шаблон проектирования Decorator вводится вместе с классом JScrollPane на Swing в надежде на то, что этот пример будет более запоминающимся, чем канонический пример потоков Java.

Рис.22.1: Диаграмма объектов в Violet

Мне для книги нужно было упрощенное подмножество языка UML: диаграммы классов, диаграммы последовательностей и вариант диаграмм объектов Java, в которых указываются ссылки на объект (рис. 22.1). Я также хотел, чтобы студенты рисовали свои собственные диаграммы. Тем не менее, коммерческие варианты, например, Rational Rose, были не только дороги, но и громоздки для изучения и использования [Shu05], а альтернативные варианты с открытым исходным кодом, в которых диаграммы задавались с помощью текстовых объявлений, а не обычным щелчком мыши, которые были доступны в то время, были слишком ограниченными или имели ошибки, не позволяющие их использовать. В частности, в ArgoUML были серьезные проблемы с диаграммами последовательностей.

Я решил попробовать свои силы в реализации простейшего редактора, который (а) будет полезен студентам и (б) будет примером фреймворка, с которым студенты смогут разобраться и смогут его модифицировать. Так родился редактор Violet.


Продолжение статьи: 22.1. Введение в Violet.