Архитектура является частью композиции системы; она выводит на первый план некоторые подробности, абстрагируясь от других. Таким образом, архитектура является подмножеством композиции. Разработчик, все внимание которого сосредоточено на реализации компонента системы, может недостаточно хорошо представлять себе схему взаимодействия всех компонентов; его интересует только композиция и разработка небольшого числа компонентов, в том числе архитектурные ограничения, которые должны соблюдаться, и правила, которые они могут использовать. Следовательно, разработчик имеет дело с другим аспектом композиции системы, нежели архитектор.
Если архитектура ориентируется на отношения между компонентами и внешне видимые свойства системных компонентов, то композиция помимо этого ориентируется на внутреннюю структуру этих компонентов. Например, если один набор компонентов состоит из модулей, скрывающих информацию, то внешне видимые свойства образуют интерфейсы этих компонентов, а к внутренней структуре относятся структуры данных и передача управления внутри модуля.
No related posts.