Архитектурные стили

В данный момент различают:

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


Архитектура ПО практически никогда не ограничена лишь одним архитектурным стилем, зачастую она является сочетанием архитектурных стилей.