Перейти к содержанию

Многоуровневая архитектура

Классический пример архитектурного стиля. Характерна разделением элементов по уровням. Каждый уровень имеет чёткий набор обязанностей. Также ограничиваются зависимости между уровнями. Уровень может зависеть либо от уровня, лежащего непосредственно под ним (чёткое разбиение), либо от любого нижележащего уровня.
Многоуровневую архитектуру можно применить к любому из представлений.
Классический пример — трёхуровневая архитектура — относится к логическому представлению. Состоит из слоёв (или уровней):

  • Уровень представления — содержит код, реализующий UI или внешние API
  • Уровень бизнес-логики — содержит бизнес-логику
  • Уровень хранения данных — реализует логику взаимодействия с хранилищем данных
NB

Model-View-Controller, по-видимому, является парафразом трёхуровневой архитектуры

Недостатки многоуровнего стиля.

  • Единый уровень представления — не учитывает случай, когда приложение вызывается более чем одной разной системой
  • Единый уровень хранения данных — не учитывает того, что приложение, скорее всего будет взаимодействовать более чем с одним источником данных.
  • Уровень бизнес-логики зависит от уровня хранения данных — теоретически эта зависимость не позволяет тестировать бизнес-логику отдельно от БД (!NB: А как же моки??) 🤔
  • Искажаются зависимости в хорошо спроектированном приложении. Бизнес-логика обычно подразумевает интерфейс или репозиторий интерфейсов, которые определяют методы доступа к данным. Уровень хранения данных определяет классы DAO, которые реализуют интерфейсв из репозитория. Иными словами, зависимости являются обратными относительно того, что описывает многослойная архитектура

Последнее обновление : 20 мая 2023 г.
Дата создания : 24 июля 2022 г.

Комментарии

Комментарии