Разница между архитектурой и фреймворком-MVC и N-уровневый

#architecture #terminology

#архитектура #терминология

Вопрос:

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

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

Спасибо

Ответ №1:

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

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

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

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

N-tier vs MVC framework

Фреймворк MVC — это всего лишь уровень представления. Вы все еще могли бы использовать уровень сервиса и уровень данных (или что бы вы ни использовали раньше).

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

Ссылки на статьи:

Ответ №2:

Чувак — это огромный вопрос (с точки зрения объема). 🙂

Архитектура — это «все»: включая:

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

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

общее повторно используемое решение часто возникающей проблемы.

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

Фреймворк MVC является реализацией шаблона проектирования MVC. Это обеспечивает реализацию (и сообщество и т.д.), Которой нет в шаблоне проектирования «на бумаге».

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

Взгляните на: http://en.wikipedia.org/wiki/Multitier_architecture

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

Ответ №3:

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

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

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