14 ответов:
логическое слои - это лишь способ организация вашего кода. Типичные слои включить презентацию, бизнес и Данные – такие же, как и традиционные 3-х уровневая модель. Но когда мы говорим о слоях, мы только говорим логическая организация кода. В нет кстати подразумевается, что эти слои может работать на разных компьютерах или в различные процессы на одном компьютер или даже в одном процессе на одном компьютере. Все, что мы делаем обсуждается способ организации код в набор слоев, определенных конкретная функция.
физическая ярусами однако, только о где выполняется код. Конкретно, уровни-это места, где слои развернуты и где работают слои. В другими словами, уровни физических развертывание слоев.
Источник: Rockford Lhotka,все приложения должны быть многоуровневым?
прочитайте сообщение Скотта Ганзельмана по этому вопросу: http://www.hanselman.com/blog/AReminderOnThreeMultiTierLayerArchitectureDesignBroughtToYouByMyLateNightFrustrations.aspx
помните, что в " мире Скотта "(который, надеюсь, также является вашим миром:))" уровень "- это единица развертывания, а" уровень " - это логическое разделение ответственности в коде. Вы можете сказать, что у вас есть" 3-уровневая " система, но запускать ее на одном ноутбуке. Вы можете сказать ваш "3-слойная" система, но есть только ASP.NET страницы, которые разговаривают с базой данных. В точности есть сила, друзья.
слои относятся к логическому разделению кода. Логические уровни помогают лучше организовать код. Например, приложение может иметь следующие слои.
1) слой представления или слой UI 2)Бизнес-уровень или уровень бизнес-логики 3) уровень доступа к данным или уровень данных
aboove три слоя находятся в своих собственных проектах, может быть 3 проекта или даже больше. Когда мы компилируем проекты, мы получаем соответствующую DLL слоя. Итак, у нас есть 3 DLL сейчас.
в зависимости от того, как мы развертываем наше приложение, мы можем иметь от 1 до 3 уровней. Поскольку теперь у нас есть 3 DLL, если мы развертываем все DLL на одной машине, то у нас есть только 1 физический уровень, но 3 логических уровня.
Если мы решим развернуть каждую DLL на отдельной машине, то у нас есть 3 уровня и 3 слоя.
Итак, слои-это логическое разделение, а уровни-физическое разделение. Мы также можем сказать, что уровни-это физическое развертывание слоев.
Почему всегда пытаются использовать сложные слова?
A пласт= часть кода, если ваше приложение-это торт,это кусочек.
A уровня= физическую машину сервер.
на уровне размещается один или несколько слоев.
пример слоев:
- уровень презентации = обычно весь код, связанный с пользовательским интерфейсом
- уровень доступа к данным = весь код, связанный с вашим доступом к базе данных
уровень:
ваш код размещен на сервере = ваш код размещен на уровне.
ваш код размещен на 2 серверах = ваш код размещен на 2 уровнях.
например, одна машина, на которой размещается сам веб-сайт (уровень презентации), другая машина, более защищенная, размещает все более чувствительный к безопасности код (реальный бизнес-код-бизнес-уровень, уровень доступа к базе данных, так далее.).
есть так много преимуществ для реализации многоуровневой архитектуры. Это сложно, и правильная реализация многоуровневого приложения требует времени. Если у вас есть некоторые, посмотрите на это сообщение от Microsoft:http://msdn.microsoft.com/en-gb/library/ee658109.aspx
Я нашел определение, которое говорит, что слои-это логическое разделение, а уровни-физическое разделение.
- на простом английском языке,
Tierотносится к "каждому в серии строк или уровней структуры, расположенных один над другим", тогда какLayerотносится к"листу, количеству или толщине материала, обычно одного из нескольких, покрывающего поверхность или тело".ступень-это физическую единицу, где выполняется код / процесс. Например: клиент, сервер приложений, сервер баз данных;
слой логический блок, как организовать код. Например: представление (представление), контроллер, модели, репозиторий, доступ к данным.
уровни представляют собой физическое разделение функциональности презентации, бизнеса, услуг и данных вашего проекта на отдельные компьютеры и системы.
слои-это логические группы программных компонентов, составляющих приложение или службу. Они помогают различать различные виды задач, выполняемых компонентами, что делает его легче для создания конструкции, поддерживающей возможность повторного использования компонентов. Каждый логический слой содержит ряд дискретных типов компонентов, сгруппированных в подслои, причем каждый подслой выполняет определенный тип задачи.
двухуровневый шаблон представляет собой клиент и сервер.
в этом случае клиент и сервер могут существовать на одной машине или могут быть расположены на двух разных машинах. На рисунке ниже показан общий сценарий веб-приложения, в котором клиент взаимодействует с веб-сервером, расположенным на клиентском уровне. Этот уровень содержит логику уровня представления и любую необходимую логику бизнес-уровня. Веб-приложение взаимодействует с отдельной машиной, на которой размещен уровень базы данных, содержащий логику уровня данных.
преимущества слоев и ярусов:
наслаивание помогает вам максимизировать ремонтопригодность кода, оптимизировать так что приложение работает при развертывании по-разному, и обеспечить четкое разграничение между местами, где определенные должны быть приняты технологические или конструкторские решения.
размещение слоев на разных физических уровнях может помочь производительности распределяя нагрузку между несколькими серверами. Это также может помочь с безопасностью путем сегрегации более чувствительных компонентов и слоев в разных сетях или в Интернете по сравнению с интрасетью.
A 1-Ярус приложение может быть 3-слоя приложения.
Я использую слои для описания стека архитектора или технологии в компоненте моих решений. Я использую уровни для логической группировки этих компонентов, как правило, когда задействована сетевая или межпроцессная связь.
да мои дорогие друзья правильно сказали. Уровень-это логический раздел Приложения, а уровень-физический раздел системы раздел уровня зависит от раздела слоя. Так же, как приложение выполняется на одной машине, но оно следует за трехуровневой архитектурой, поэтому мы можем сказать, что архитектура слоя может существовать в архитектуре уровня. Проще говоря, 3-х уровневая архитектура может быть реализована на одной машине, тогда мы можем сказать, что это 1-уровневая архитектура. Если мы реализуем каждый слой на отдельная машина тогда называется 3 уровневую архитектуру. Слой также может выполнять несколько уровней. В архитектуре слоев связанные компоненты легко связываются друг с другом.
Так же, как мы следуем приведенной ниже архитектуры
- внешний вид
- слой бизнес-логики
- слой доступа к данным
клиент может взаимодействовать с "уровнем представления", но они получают доступ к общедоступному компоненту ниже уровня (например, уровень бизнес-логики public component) на" уровень бизнес-логики " из-за соображений безопасности.
Q * почему мы используем архитектуру слоев ? потому что если мы реализуем архитектуру слоев, то мы увеличиваем эффективность наших приложений, таких как==>безопасность
==>управляемость
==>масштабируемость
другое нужно, как после разработки приложения мы должны изменить СУБД или модифицировать бизнес-логику и т. д. тогда это нужно всем.
Q * почему мы используем многоуровневую архитектуру?
потому что физически реализация каждого слоя дает лучшую эффективность, без архитектуры слоя мы не можем реализовать архитектуру уровня. отдельная машина для реализации отдельных уровень и отдельный уровень-это реализация одного или нескольких слоев, поэтому мы его используем.
он использует для целей отказоустойчивости. ==>простой в обслуживании.простой пример:
Так же, как банк открыт в камере, в которой категории сотрудник:
- Хранитель Врат
- человек за наличными
- лицо, ответственное за внедрение банковской схемы
- менеджер
все они являются связанными компонентами системы.
Если мы собираемся в банк для целей кредита, то сначала хранитель ворот открыть дверь с улыбкой после этого мы идем к близкому человеку, который знакомит со всей схемой кредитования после этого мы идем в каюту менеджера и передаем кредит. После этого наконец мы идем в кассу взять кредит. Это слоевая архитектура банка.
Что насчет уровня? Отделение банка открывается в городе, потом в другом городе, потом в другом но каково основное требование каждой отрасли
- Хранитель Врат
- человек за наличными
- лицо, ответственное за внедрение банковской схемы
- менеджер
точно такая же концепция слоя и уровень.
Мне нравится ниже описание от Руководство По Архитектуре Приложений Microsoft 2
уровни описывают логические группировки функций и компонентов в приложении; в то время как уровни описывают физическое распределение функций и компонентов на отдельных серверах, компьютерах, сетях или удаленных местах. Хотя оба слоя и уровня используют один и тот же набор имен (презентация, бизнес, службы и данные), помните, что только уровни подразумевают физическое разделение.
слоиявляются логическим разделением
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], DataStoragen -уровня плюсы:
Улучшенная Безопасность
масштабируемость: по мере роста вашей организации вы можете масштабировать свой уровень БД с помощью кластеризации БД, не касаясь других уровней.
ремонтопригодность: веб-дизайнер может изменить вид-код, не касаясь других слоев на других уровнях.
Легко обновление или повысить [например: вы можете добавить дополнительный код приложения, обновить область хранения или даже добавить несколько слоев презентации для отдельных устройств, таких как мобильный телефон, планшет, ПК]
слои являются концептуальными сущностями и используются для разделения функциональности программной системы с логической точки зрения; при реализации системы вы организуете эти слои с помощью различных методов; в этом условии мы называем их не слоями, а уровнями.
слой-это логический модуль программного обеспечения со своей основной логики и границы.
уровень-это физический контейнер одного или нескольких уровней, таких как сервер через сеть или несколько экземпляров одной виртуальной машины, работа в нагрузк-сбалансированном путе.
1.In 3-х уровневая архитектура DAL(Databse layer), BLL(bissiness layer) и UIL (UI layer) может работать на той же машине, где, как и в 3-х уровневой архитектуре клиент на одной машине, сервер приложений размещается на другой машине, а сервер баз данных находится на другой машине.
2.Архитектура слоя улучшит читаемость и повторное использование, минимизирует изменения приложения из-за влияния изменений в других слоях. В то время как 3-х уровневая архитектура имеет все преимущества 3 уровень + масштабируемость по мере развертывания приложения на разных машинах нагрузка будет распределяться между уровнями и масштабируемость будет увеличиваться.
когда вы говорите о презентации, сервисе, данных, сетевом слое, вы говорите о слоях. Когда вы "развертываете их отдельно", вы говорите об уровнях.
уровни-это все о развертывании. Возьмите его таким образом: у нас есть приложение, которое имеет интерфейс, созданный в Angular, он имеет бэкэнд как mongo db и средний слой, который взаимодействует между интерфейсом и бэкэндом. Итак, когда это интерфейсное приложение, приложение базы данных и средний уровень все развернуты отдельно мы говорим, что это приложение 3 уровня.
преимущество: если нам нужно масштабировать наш бэкэнд в будущем, мы можем только масштабировать бэкэнд самостоятельно и не нужно масштабировать интерфейс.


Comments