Какая разница между "Слоями" и "Уровнями"?

Какая разница между "Слоями" и "Уровнями"?

Ответ 1

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

Физические уровни, однако, относятся только к где выполняется код. В частности, Уровни - это места, где развернуты и где выполняются слои. В другими словами, уровни являются физическими развертывание слоев.

Источник: Rockford Lhotka, Должны ли все приложения быть n-тирами?

Ответ 2

Прочитайте пост Скотта Хансельмана по этому вопросу: http://www.hanselman.com/blog/AReminderOnThreeMultiTierLayerArchitectureDesignBroughtToYouByMyLateNightFrustrations.aspx

Помните, что в "Скотт-Мире" (который, надеюсь, ваш мир тоже:)) "Уровень" - это единица развертывания, а "Слой" - логическое разделение ответственности внутри кода. Вы можете сказать, что у вас есть "3-ярусная" система, но ее можно запустить на одном ноутбуке. Вы можете сказать, что у вас есть "трехслойная" система, но есть только страницы ASP.NET, которые говорят с базой данных. Там сила в точности, друзья.

Ответ 3

Слои ссылаются на логическое разделение кода. Логические слои помогут вам лучше упорядочить код. Например, приложение может иметь следующие уровни.

1) Уровень презентации или уровень пользовательского интерфейса 2) Уровень бизнес-уровня или бизнес-логики 3) Уровень доступа к данным или уровень данных

Свыше трех слоев находятся в собственных проектах, может быть 3 проекта или даже больше. Когда мы скомпилируем проекты, получаем соответствующую DLL слоя. Итак, теперь у нас есть 3 DLL.

В зависимости от того, как мы развертываем наше приложение, у нас может быть от 1 до 3 уровней. Поскольку у нас теперь есть 3 библиотеки DLL, если мы развертываем всю DLL на одном компьютере, то у нас есть только 1 физический уровень, но 3 логических уровня.

Если мы решили разместить каждую DLL на отдельной машине, у нас есть 3 уровня и 3 уровня.

Итак, слои - это логическое разделение, а уровни - физическое разделение. Мы также можем сказать, что уровни - это физическое развертывание слоев.

Ответ 4

Почему всегда пытаюсь использовать сложные слова?

A layer= часть вашего кода, если ваше приложение представляет собой торт, это фрагмент.

A уровень= физический компьютер, сервер.

Уровень содержит один или несколько слоев.


Пример слоев:

  • Уровень представления = обычно весь код, связанный с пользовательским интерфейсом
  • Уровень доступа к данным = весь код, связанный с доступом к базе данных.

Уровень:

Ваш код размещен на сервере = Ваш код размещен на уровне.

Ваш код размещен на 2 серверах = ваш код размещен на 2 уровнях.

Например, одна машина, на которой размещен сам веб-сайт (уровень представления), на другой машине более защищенный хостинг - все более защищенный секретный код (настоящий бизнес-код - бизнес-уровень, уровень доступа к базе данных и т.д.).


Существует так много преимуществ для реализации многоуровневой архитектуры. Это сложно, и правильная реализация многоуровневого приложения требует времени. Если у вас есть, взгляните на этот пост от Microsoft: http://msdn.microsoft.com/en-gb/library/ee658109.aspx

Ответ 5

Я нашел определение, в котором говорится, что слои являются логическим разделом, а уровни - физическим разделом.

Ответ 6

  • В простом английском языке Tier означает "каждый из серии строк или уровней структуры, размещенной один над другой", тогда как Layer относится к "листу, количеству или толщине материала, обычно один из нескольких, покрывающий поверхность или тело".
  • Уровень - это физическая единица, где выполняется код/​​процесс. Например: клиент, сервер приложений, сервер базы данных;

    Слой - это логическая единица, как организовать код. Например: презентация (просмотр), контроллер, модели, репозиторий, доступ к данным.

  • Уровни представляют собой физическое разделение функций презентации, бизнеса, услуг и данных вашего дизайна на разных компьютерах и системах.

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

Двухуровневый шаблон представляет собой клиент и сервер.

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

Layers vs Tiers

Преимущества слоев и уровней:

  • Слой позволяет максимально упростить код, оптимизировать способ, которым приложение работает при развертывании по-разному, и обеспечить четкое разграничение между местами, где определенные технологии или проектные решения.

  • Размещение ваших слоев на отдельных физических уровнях может помочь производительности распределяя нагрузку на несколько серверов. Он также может помочь с безопасностью путем выделения более чувствительных компонентов и слоев в разных сетях или в Интернете по сравнению с интрасети.

Приложение 1-уровня может быть трехслойным.

Ответ 7

Я использую слои для описания архитекторного или технологического стека в компоненте моих решений. Я использую уровни для логической группировки этих компонентов, как правило, при использовании сетевого или межпроцессного взаимодействия.

Ответ 8

Да, мои дорогие друзья сказали правильно. Слой - это логический раздел приложения, тогда как уровень - это физическое разделение системы раздел уровня зависит от раздела раздела. Точно так же, как приложение выполняется на одной машине, но оно следует за 3-х многоуровневой архитектурой, поэтому мы можем сказать, что архитектура уровня может существовать в иерархической архитектуре. Проще говоря, трехслойная архитектура может реализоваться в одной машине, тогда мы можем сказать, что это 1 уровень архитектуры. Если мы реализуем каждый слой на отдельной машине, то его вызов 3 уровня архитектуры. Слой также может запускать несколько уровней. В компоненте, относящемся к архитектуре слоев, можно легко общаться друг с другом.
Так же, как мы следуем приведенным ниже архитектурам

  • уровень представления
  • уровень бизнес-логики
  • уровень доступа к данным

Клиент может взаимодействовать с "уровнем представления", но они получают доступ к публичному компоненту нижележащего уровня (например, общедоступный компонент уровня бизнес-логики) до "уровня бизнес-логики" из-за причины безопасности.
Q * почему мы используем архитектуру слоев? потому что, если мы внедряем архитектуру слоя, мы повышаем эффективность наших приложений, например

== > безопасность

== > управляемость

== > Масштабируемость

другим нужно, так как после разработки приложения нам нужно изменить dbms или изменить бизнес-логику и т.д., тогда это необходимо всем.

Q * почему мы используем архитектуру уровня?

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

Простой пример

Как банк, открытый в камере, в каких категориях служащий:

  • хранитель ворот
  • человек за наличные.
  • лицо, ответственное за внедрение банковской схемы.
  • менеджер

все они являются связанными компонентами системы.

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

Как насчет уровня? Открыт филиал банка в городе, после чего в другом городе, после чего в другом но каково основное требование каждой ветки

  • хранитель ворот
  • человек за наличные.
  • лицо, ответственное за внедрение банковской схемы.
  • менеджер

точно такое же понятие слоя и уровня.

Ответ 9

Мне нравится описание ниже из Руководство по архитектуре приложений Microsoft 2

Слои описывают логические группировки функциональности и компонентов в приложении; тогда как уровни описывают физическое распределение функциональных возможностей и компонентов на отдельных серверах, компьютерах, сетях или удаленных местоположениях. Хотя оба уровня и уровни используют один и тот же набор имен (презентация, бизнес, службы и данные), помните, что только уровни подразумевают физическое разделение.

Ответ 10

Слои - это логическое разделение related-functionality[code] внутри приложения, связь между слоями явная и слабосвязанная. [Презентационная логика, Логика приложения, Логика доступа к данным]

Уровни - это физическое разделение layers [которое размещается на отдельных серверах] на отдельном компьютере (процесс).

введите описание изображения здесь

Как показано на диаграмме:

1-Tier & 3-Layers « App Logic  with out DB access store data in a files.
2-Tier & 3-Layers « App Logic & DataStorage-box.
2-Tier & 2-Layers « Browser View[php] & DataStorage[procedures]
2-Tier & 1-Layers « Browser View[php] & DataStorage, query sending is common.
3-Tier & n-Layer  « Browser View[php], App Logic[jsp], DataStorage

n- Tier преимущества:
Улучшенная безопасность
Масштабируемость. По мере роста вашей организации вы можете увеличить свой DB-Tier с помощью DB-Clustering, не касаясь других уровней.
Поддержание работоспособности. Веб-дизайнер может изменить вид-код, не затрагивая другие слои на других уровнях.
Легко Обновление или Enhance [Ex: вы можете добавить дополнительный код приложения, обновить область хранения или добавить несколько слоев представления для отдельных устройств, таких как мобильные, планшеты, ПК]

Ответ 11

Слои являются концептуальными объектами и используются для разделения функциональности программной системы с логической точки зрения; при внедрении системы вы организуете эти слои с использованием разных методов; в этом условии мы называем их не слоями, а как уровни.

Ответ 12

Слой - это логический модуль программного обеспечения с собственной логикой ядра и границы.

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

Ответ 13

1. В трехслойной архитектуре DAL (слой Databse) BLL (слой Bissiness) и UIL (слой пользовательского интерфейса) могут работать на одном компьютере, где, как и в архитектуре 3 уровня, клиент на одной машине, сервер приложений размещен на другой машине, а сервер базы данных находится на другом компьютере.

Архитектура 2.Layer будет улучшать читаемость и повторное использование, сводит к минимуму изменения приложения из-за воздействия изменений в других слоях. В то время как архитектура 3 уровня имеет все преимущества 3-х уровневой масштабируемости, поскольку приложение будет развернуто на разных машинах, поэтому загрузка будет распределена между уровнями, а масштабируемость увеличится.

Ответ 14

Когда вы говорите о представлении, услуге, данных, сетевом уровне, вы говорите о слоях. Когда вы "развертываете их отдельно", вы говорите об уровнях.

Уровни это все о развертывании. Подумайте так: у нас есть приложение, у которого есть внешний интерфейс, созданный в Angular, он имеет внутренний интерфейс MongoDB и средний уровень, который взаимодействует между внешним интерфейсом и внутренним интерфейсом. Итак, когда это внешнее приложение, приложение базы данных и средний уровень развернуты по отдельности, мы говорим, что это трехуровневое приложение.

Преимущество: если нам нужно масштабировать наш бэкэнд в будущем, нам нужно только масштабировать бэкэнд независимо, и нет необходимости увеличивать масштаб фронтэнда.