Что такое * пакет * в OCL?

Я знаю, как написать пакет в OCL, но что именно означает эта конструкция? Почему и когда мы должны использовать пакеты?


В качестве примера для пакета в моем скрипте они пишут

package MeetingExample

context Meeting::isConfirmed : Boolean
init: false
context TeamMember:meeting : Set(Meetings)
init: Set{}

endpackage

Но какая разница, если я пишу только

context Meeting::isConfirmed : Boolean
init: false
context TeamMember:meeting : Set(Meetings)
init: Set{}

1 ответ

Решение

Согласно полной инструкции:

"Объявление контекста пакета может заключать в себе объявления, которые дополняют элементы модели в дополненном пакете".

"Контекст классификатора заканчивается контекстом или конечным пакетом".

Смысл этих пакетов такой же, как и для пространств имен:

  • Для этого можно использовать несколько очень полезных имен (индекс, имя, родитель, потомки,...) несколько раз в одном проекте. Это может быть чрезвычайно важно, когда вы присоединяетесь к большим кускам кода.

  • Другой, вторичный смысл - организовать элементы в группы.

Другие вопросы по тегам