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

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

N -уровневая архитектура приложения предоставляет модель, по которой разработчики могут создавать гибкие и повторно-используемые приложения . Разделяя приложение на уровни абстракции , разработчики приобретают возможность внесения изменений в какой-то определённый слой, вместо того, чтобы перерабатывать всё приложение целиком. Трёхуровневая архитектура обычно состоит из уровня представления , уровня бизнес-логики и уровня хранения данных .

Хотя понятия слоя и уровня зачастую используются как взаимозаменяемые, многие сходятся во мнении, что между ними всё-таки есть различие. Различие заключается в том, что слой — это механизм логического структурирования компонентов, из которых состоит программное решение, в то время как уровень — это механизм физического структурирования инфраструктуры системы. Трёхслойное решение легко может быть развёрнуто на единственном уровне, таком как персональная рабочая станция .

Слои

Архитектурный шаблон «Слои» ( англ. Layers ) помогает структурировать приложения разложением на группы подзадач, находящихся на определенных уровнях абстракции .

Распространённые слои

В логически разделённых на слои архитектурах информационных систем наиболее часто встречаются следующие четыре слоя:

  • Слой представления (слой UI, UIL, , уровень представления в многоуровневой архитектуре)
  • Слой приложения (сервисный слой, сервисный уровень или GRASP уровень управления )
  • Слой бизнес-логики (слой предметной области, BLL, доменный слой)
  • Слой доступа к данным (слой хранения данных, DAL, слой инфраструктуры; логирование, сетевые взаимодействия и другие сервисы, требующиеся для поддержания конкретного слоя бизнес-логики)

Книга Предметно-ориентированное проектирование (DDD) описывает некоторые общепринятые способы применения обозначенных четырёх слоёв, хотя фокус в ней смещён в сторону слоя предметной области.

Некоторые также выделяют в отдельный слой бизнес инфраструктуры (BI) то, что расположено между слоем (слоями) бизнес-логики и слоем (слоями) инфраструктуры. Иногда этот слой именуется «нижнеуровневым слоем бизнес-логики» или «слоем бизнес-сервисов». Этот слой является очень обобщённым и может быть использован на нескольких уровнях приложения (такого как Конвертер валют).

Слой инфраструктуры может быть подразделён на уровни: высокоуровневые и низкоуровневые технические сервисы. Разработчики зачастую концентрируют своё внимание на возможностях доступа к данным слоя инфраструктуры и вследствие в разговоре упоминают о нём только как о слое доступа к данным (вместо более общего «слоя инфраструктуры» или «слоя технических сервисов»). Другими словами, об иных разновидностях технических сервисов не всегда задумываются как о части определённого слоя.

Каждый слой зависит только от нижележащего слоя и может существовать без вышерасположенных слоёв. Ещё одна распространённая точка зрения заключается в том, что слои не всегда строго зависят от слоя расположенного непосредственно под ними. Например, в нестрогой многослойной системе ( англ. a relaxed layered system ) какой-то слой может зависеть от всех расположенных ниже слоёв.

См. также

Источники

  1. от 4 ноября 2018 на Wayback Machine (англ.)
  2. Мартин Фаулер «Архитектура корпоративных программных приложений» (2002). Addison-Wesley. (англ.)
  3. Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael (1996-08). Pattern-Oriented Software Architecture, Volume 1, A System of Patterns. Wiley, August 1996. ISBN 978-0-471-95869-7 . Retrieved from от 29 ноября 2017 на Wayback Machine . (англ.) . Chapter 2.
  4. от 18 ноября 2018 на Wayback Machine (англ.)
  5. . Дата обращения: 1 октября 2018. 7 октября 2018 года.
  6. от 2 сентября 2018 на Wayback Machine (англ.)
  7. (англ.)
  8. Domain-Driven Design, the Book pp. 68-74. Retrieved from . (англ.) от 13 мая 2019 на Wayback Machine
  9. от 29 сентября 2018 на Wayback Machine ISBN 0-13-148906-2 (англ.)

Ссылки

  • (англ.)
  • (англ.)
  • (англ.)
  • (англ.)
  • (англ.)
Источник —

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