Разница между архитектурой и Framework-MVC и N-Tier - PullRequest
1 голос
/ 26 апреля 2011

В чем разница между архитектурой, шаблонами проектирования и структурой.Как мы соотносим инфраструктуру N-Tier и MVC?

Может кто-нибудь подсказать мне несколько хороших демонстраций?

Спасибо

Ответы [ 3 ]

4 голосов
/ 26 апреля 2011

В чем разница между архитектурой, шаблонами проектирования и структурой. Как мы связываем инфраструктуру N-Tier и MVC?

Это два довольно разных вопроса.

  • Архитектура - это то, как вы разрабатываете свои приложения
  • Шаблоны проектирования - это решение конкретных задач программирования
  • Framework решает большую проблему (см. Ниже)

Фреймворк обычно решает более крупную проблему, например, как работать с базой данных (nhibernate) или как создать веб-сайт (ASP.NET MVC), в то время как шаблоны проектирования решают более мелкие проблемы, такие как как уведомить все классы которые зависят от меня, когда что-то произошло (модель наблюдателя)

N-ярус против MVC Framework

MVC Framework - это просто уровень представления. Вы все еще можете использовать сервисный слой и слой данных (или любой другой, который вы использовали ранее).

Тем не менее, я рекомендую вам начать использовать ORM и инверсию контейнера управления, поскольку вы, очевидно, переключаете технологии.

Ссылки по статье:

2 голосов
/ 26 апреля 2011

Человек - это огромный вопрос (с точки зрения масштабов). :)

Архитектура - это «все»: в том числе:

  • Процесс , через который вы проходите (создание первоначального видения того, что должно быть построено, передача этого, выявление критических факторов, ограничивающих архитектуру, определение важных атрибутов качества системы (и NFR), которые система должна соответствовать и т.д.).
  • Формальные и неформальные представления"архитектуры" - статические артефакты, которые описывают, что представляет собой система - план.

Шаблоны проектирования являются (цитируя Википедией) a:

общее многоразовое решение часто встречающаяся проблема.

Это хорошее место для старта, если вам не нравится заново изобретать колесо - по крайней мере, с концептуальной или логической точки зрения. Они представляют собой мини-проект для решения небольшой конкретной проблемы (где «Архитектура» - это полное решение и большая проблема).

MVC Framework является реализацией шаблона проектирования MVC. Это приносит реализацию (и сообщество, и т. Д.), Чего не делает шаблон проектирования на бумажной основе.

N-Tier - это архитектурный стиль - это (своего рода) эквивалент шаблона проектирования, но на высшем уровне «архитектор» / большой уровень проблемы.

Посмотрите на: http://en.wikipedia.org/wiki/Multitier_architecture

Стоит отметить, что «Ярус» - это физическое разделение; термин, который часто противопоставляется «слою», который является просто логическим в вашем коде (и который часто может также использоваться для физической границы).

1 голос
/ 17 декабря 2012

Фреймворк представляет собой набор инструментов и использует для реализации архитектуры. (Пример: .NET Framework)

N-Tier - это архитектурный стиль, используемый для создания блоков для элементов архитектурного проектирования, Ruls, инструментов анализа, ....

MVC является шаблоном проектирования и используется для решения архитектурных стилей определенных задач. (MVC создается с 3 шаблонами проектирования: стратегии, составные и шаблоны наблюдателей

...