У меня есть веб-приложение, которое развертывается следующим образом на веб-хостинга:Является ли следующее разделение рассмотренным как двухуровневая, так и трехуровневая архитектура?
- кодекса (без разделения BLL, DAL и т.д.), загруженные на веб-хостинг
- базы данных (MSSQL резервного копирования файлов), загружаемых в сети хостинг базы данных
Рассматривается ли это двухуровневая архитектура или трехуровневая архитектура?
Я видел другое объяснение от различных источников
- Если код и базы данных находятся на одном сервере, то это 2-х уровневая. Если код и база данных находятся на другом сервере, то это 3-х уровневый.
- Веб-приложение с базой данных имеет минимум 3-уровневую архитектуру
- Это двухуровневая архитектура.
Определение 2 яруса по этому источнику
В архитектуре 2-уровневой, веб-сервер отвечает на запросы на веб-страницы и сервер базы данных обеспечивает хранение данных Backend
Определение многоуровневых по этот источник
в архитектуре 3-уровневой, веб-сервер связан с средним уровнем слоя, который обычно включает в себя ряд серверов приложений, которые выполняют конкретные задачи, а также к бэкэнд слою существующих корпоративных систем
Надеюсь, что кто-то может это прояснить.
Итак, могу ли я заключить, что с точки зрения инфраструктуры любой веб-сайт с базой данных имеет не менее 3-х уровневой архитектуры, а статический веб-сайт, который только отображает информацию, представляет собой двухуровневую архитектуру. – vincentsty
Что касается расслоения (логическая точка зрения), то сам MVC по умолчанию является трехслойной архитектурой. например: принимая пример ASP.NET MVC, по умолчанию он имеет модель, представление и контроллер, но он все еще находится в одном проекте. что означает, что невозможно развернуть модель, просмотр и контроллер отдельно на другом веб-сервере. Потому что я читал в источнике, что утверждают, что расслоение считается только действительным, если сам код (bll, dal) записывается в том смысле, что его можно развернуть на другой сервер. – vincentsty
Ваш первый комментарий правильный - n-level - это физические уровни, разделенные сетью в большинстве случаев. Что касается второго, вы можете посмотреть на MVC как на слои (если вы посмотрите на каждый тип компонентов Controllers/Views/Models в качестве объекта) или аналогичные компоненты. MVC - всего лишь шаблон дизайна. Он не связан с количеством ярусов. Вы упомянули о разделении кода в своем вопросе - вот почему я коснулся темы MVC в своем ответе. Это важное различие между физическими уровнями и логическими компонентами/слоями. –