Архитектурные стили
Внешний вид
В данный момент различают:
- Архитектура на основе предметной области
- Каркас системы описывается на языке специалистов определенной предметной области, ее элементах, поведении и отношениях между ними.
- Клиент/сервер
- Серверное приложение, к которому напрямую обращаются множество клиентов. Имеет тенденцию тесного связывания данных и бизнес-логики приложения на сервере. Для решения этих проблем архитектурный стиль клиент/сервер был развит в более универсальный 3-уровневый (или N-уровневый).
- Компонентная архитектура
- Основное внимание уделяется выделению повторно-используемых компонентов, которые могут без труда заменяться другими подобными компонентами. Компоненты проектируются для работы в разных средах и условиях, т.е. являются независимыми от контекста.
- Многослойная архитектура
- В архитектуре выделены функциональные слои. Они слабо связаны, и между ними осуществляется явный обмен данными. Описывается как перевернутая пирамида повторного использования, в которой каждый слой агрегирует ответственности и абстракции уровня, расположенного непосредственно под ним. При строгом разделении на слои компоненты одного слоя могут взаимодействовать только с компонентами того же слоя или компонентами слоя, расположенного прямо под данным слоем.
- N-уровневый / 3-уровневый
- Разделение функциональности на сегменты, во многом аналогично многослойной архитектуре, но выделенные сегменты могут физически размещаться на разных компьютерах
- Шина сообщений
- Сервис-ориентированная архитектура
Архитектура ПО практически никогда не ограничена лишь одним архитектурным стилем, зачастую она является сочетанием архитектурных стилей.