Что такое * пакет * в 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 ответ
Решение
Согласно полной инструкции:
"Объявление контекста пакета может заключать в себе объявления, которые дополняют элементы модели в дополненном пакете".
"Контекст классификатора заканчивается контекстом или конечным пакетом".
Смысл этих пакетов такой же, как и для пространств имен:
Для этого можно использовать несколько очень полезных имен (индекс, имя, родитель, потомки,...) несколько раз в одном проекте. Это может быть чрезвычайно важно, когда вы присоединяетесь к большим кускам кода.
Другой, вторичный смысл - организовать элементы в группы.