Описание тега n-tier-architecture

N-уровневая архитектура относится к архитектуре приложения, которое имеет как минимум 3 "логических" уровня или отдельных частей. Каждый слой взаимодействует только с уровнем, находящимся непосредственно под ним, и выполняет определенную функцию, за которую он отвечает.

Многоуровневое приложение обычно имеет три уровня, которые называются уровнем представления, бизнес-уровнем и уровнем данных.

Слой презентации

Уровень представления - это уровень, отвечающий за отображение пользовательского интерфейса и "управление" этим интерфейсом с помощью бизнес-уровня.

Бизнес-уровень

Бизнес-уровень - это уровень, отвечающий за доступ к уровню данных для извлечения, изменения и удаления данных на уровень данных и из него, а также за отправку результатов на уровень представления. Этот уровень также отвечает за обработку данных, полученных и отправленных на уровень представления.

Часто этот уровень делится на два подуровня: уровень бизнес-логики (BLL) и уровни доступа к данным (DAL). Уровни бизнес-логики находятся над уровнями доступа к данным, то есть BLL использует классы и объекты DAL. DAL отвечает за доступ к данным и их пересылку в BLL.

Уровень данных

Уровень данных - это база данных или сам источник данных.

Логические уровни и физические уровни (распределенные)

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

Вывод

Зачем использовать многоуровневую архитектуру? Поскольку каждый уровень может быть расположен на физически разных серверах с незначительными изменениями кода, они масштабируются и справляются с большей нагрузкой на сервер. Кроме того, то, что делает каждый слой внутри, полностью скрыто для других слоев, и это позволяет изменять или обновлять один слой без перекомпиляции или модификации других слоев.