Альтернативы архитектуре NTier для веб-приложений - PullRequest
9 голосов
/ 07 сентября 2011

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

Всегда ли так, что веб-приложения следует разделять на слои?

Ответы [ 4 ]

7 голосов
/ 07 сентября 2011

Альтернативой традиционной N-уровневой архитектуре является Архитектура разделения команд-запросов (CQRS), как обсуждалось Уди Даханом.

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

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

Делайте вещи максимально простыми для достижения наилучших результатов и легкого рефакторинга.

5 голосов
/ 07 сентября 2011

Всегда ли нужно разделять веб-приложения на слои?

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

На самом деле эти уровни могут иметь два значения:

  1. Физические границы: клиентский браузер, веб-сервер, веб-сервиссервер, серверная база данных, ...
  2. Логические границы: GUI, сервисный уровень, DAL, ...

Вы также можете взглянуть на Onion Architecture .Но у лука все еще есть слои: -)

3 голосов
/ 07 сентября 2011

Настоятельно рекомендуется прочитать Руководство по архитектуре приложений Microsoft, 2-е издание .

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

Это подробное руководство, в котором объясняются роли и обязанности каждого уровня и как все они играют вместе в надежном и масштабируемом приложении.

Вам не нужно читать все это, но для начала взгляните на Глава 5: Рекомендации по многоуровневым приложениям .

2 голосов
/ 12 сентября 2011

Существует альтернативный «шаблон» для многоуровневой архитектуры.

Но это анти-шаблон, который пытается решить многоуровневая архитектура.А именно "Большой Грязевой Шар":)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...