Элементы диаграммы классов, связи между классами, структура класса
- Элементы, используемые при построении диаграммы классов, описаны на странице Диаграмма классов (Class diagram).
- Особенности работы с редактором диаграммы классов приведены в соответствующей статье.
Особенности создания классов
Общая структура класса приведена на рисунке выше.
- Особенности переименовывания классов приведены в статье Особенности работы с редактором диаграммы классов (почему это необходимо делать именно так, объяснено в этой статье).
- Используемые стереотипы с описанием приведены в статье Ключевые понятия объектной структуры для прикладных систем, разрабатывающихся на Flexberry Platform.
- Особенности задания методов классов представлены в статье Методы классов и параметры методов .
- Описание атрибутов классов приведено в статье Атрибуты классов данных .
На что необходимо обратить особое внимание:
- Все имена (как классов, так и атрибутов) пишутся без пробелов. Если необходимо представить в имени несколько слов, то слова пишутся слитно, каждое с большой буквы (описание этого стиля приведено здесь).
- Типы, которые можно использовать, можно посмотреть на карте типов.
Рекомендации по рисованию диаграммы классов
Существуют рекомендации по рисованию диаграммы классов:
- Направление связи
- Мастеровыми ассоциации рисуются “вбок”.
- Детейловые композиции рисуются “вниз”.
- Наследование рисуется “вверх”.
- Именование связи
- Параметры связи
- Классы, объединенные связью со множественностью “1:1”, объединяются в один класс.
- Связи типа
Агрегация
заменяются либо наАссоциацию
, либо наКомпозицию
.
Особенности использования агрегации
- При наличии у агрегатора нескольких детейлов, роли агрегатора могут иметь одинаковые имена, поскольку по этим именам объекты других классов будут обращаться к этому объекту.
Роли детейла должны иметь разные имена, поскольку эти имена будут использованы в наименовании свойств мастера (одинаковые имена свойств не допустимы).
- Детейл может выступать в роли мастера. Однако в таком случае требуются дополнительные настройки: