Перейти к содержимому

Диаграмма внутренней структуры

Структурированный классификатор может содержать внутренние части и соединители. Инкапсулированный классификатор — его специализация, которая может также владеть портами. Компонент относится к инкапсулированным классификаторам, поэтому на его внутренней структуре допустимы все три элемента.

Часть — свойство классификатора, представляющее его внутреннюю роль. Запись validator: OrderValidator показывает не просто существование класса OrderValidator, а его роль внутри OrderService.

Порт — точка взаимодействия на границе инкапсулированного классификатора. Он может предоставлять и требовать интерфейсы; это не декоративный квадрат, а свойство элемента модели.

Порт с интерфейсами

Сборочный соединитель (assembly connector) связывает части или порты, контракты которых совместимы. Делегирующий соединитель (delegation connector) проводит запрос с внешнего порта к внутренней части или обратно.

Сборочный соединитель

Делегирующий соединитель

Диаграмма не нужна для любой декомпозиции. Если надо показать только модули и их контракты, используйте компоненты. Если важны классы и свойства предметной области, используйте диаграмму классов.

К внутренней структуре переходят после программной архитектуры, когда требуется объяснить делегирование и роли частей внутри компонента. Физическое размещение остаётся на диаграмме развёртывания.