2010-02-03 4 views
33

Я хотел бы знать разницу между каркасом и архитектурой.
например: dotnetnuke - это каркас и mvc - это архитектура.В чем разница между каркасом и архитектурой?

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

+0

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

+0

его просто пример. хочу очистить защиту. – sikender

+2

MVC - это «шаблон дизайна» в терминах CS, я бы рассматривал это отдельно от архитектуры. Архитектура может включать в себя множество шаблонов. – Art

ответ

80

Позвольте мне проиллюстрировать разницу.

Framework:

Framework

Архитектура:

Architecture

+0

очень хороший способ дать ответ. мне это нравится. – sikender

5

Frameworks - это набор классов и инструментов, которые помогут вам разрабатывать отличные программные средства ... например .net framework или Qt.
Архитектура совершенно другая: она относится к шаблону проектирования или как приложение или структура организована. Каковы модули, которые его составляют и как они общаются вместе!

+0

Рамки: или они могут помочь вам разработать паршивое программное обеспечение. Или быть навязанным вам в соответствии с требованиями проекта, что затрудняет разработку отличного программного обеспечения. –

2

Рамки, как правило, часть вашей архитектуры. Они обычно являются частью инфраструктуры вашего кода. MVC - это структура, как и ASP.NET, WinForms и многие библиотеки (NHibernate, PostSharp и др.).

Архитектура относится к тому, как ваше программное обеспечение оно объединяет - как оно организовано, как взаимодействуют различные классы и модули в нем.

30

Распространено это различие:

  • Библиотека многоразовый набор типов/функций, которые можно использовать в самых разнообразных приложениях. Код приложения инициирует связь с библиотекой и вызывает ее.
  • A Рамка состоит из одной или нескольких библиотек, но разница в том, что применяется инверсия управления. Приложение регистрируется с помощью фреймворка (часто путем реализации одного или нескольких интерфейсов), а инфраструктура вызывает приложение, которое может переходить в структуру. Рамки часто существуют для обращения к определенному домену общего назначения (например, к веб-приложениям или рабочим процессам и т. Д.).
  • Архитектура состоит из руководящих принципов, стоящих за данным приложением. Он не сильно привязан к определенной структуре или библиотеке.
11

Проще говоря - архитектура - это теория, рамки - это реализация.

1

Рамка является частью реализации архитектуры. Скажем, наше приложение будет организовано в соответствии с архитектурой MVC и будет использовать для этого среду SpringMVC. Различные структуры организованы в соответствии с различными архитектурными узорами. Кто-то может сказать, что термин «каркас» сам описывает архитектурный образец. Его «напротив» является «библиотекой», потому что библиотеки напрямую контролируются вашим приложением, в то время как фреймворки используют инверсию управления и они управляют выполнением вашего кода. Хотя, существуют разногласия в использовании термина «рамки».

1

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

Но в целом архитектура является принципом дизайна и может охватывать не только программное обеспечение, но и целые системы. Подумайте о безопасности, интеграции, отчетности, инфраструктурных аспектах и ​​т. Д.

5

также отметить разницу между дизайном и архитектурой:

Design: W Куда вы говорите, что делать, когда пользователь входит в систему?
Ex. Удобство использования, мобильность, доступность и т. Д.

Архитектура: Когда вы говорите о том, что делать, когда одновременно регистрируется 5000 пользователей?
Ex. Масштабируемость, надежность, доступность, производительность и т. Д.

2

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

5

Архитектура о стиле, абстрактные идеи, поток, методология, концепция. Framework - это то, что реализует стиль, идею, концепцию и т. Д. Или упрощает ее реализацию. пример,

Архитектура: Каждый компонент должен иметь стандартные подключаемые интерфейсы, и должно быть возможно подключить любой компонент к любому другому.

Рамка: Тогда строительные блоки lego могут быть каркасом.

Библиотека: некоторые готовые комбинации блоков, которые будут работать в качестве столбов.

Приложение: Конструкция здания с использованием столбов и других строительных блоков (применение).

1

Архитектура является логическим видом, это означает, что она не имеет имплантирования (классы Java), просто есть идея, куда поместить каждый компонент (jsp, сервлет и компонент модели для архитектуры MVC). Мы также можем назвать шаблон проектирования.

Структура представляет собой реализацию архитектуры. Как Spring (архитектура приложений), Struts (архитектура веб-приложений MVS) - это некоторые рамки.

0

Позвольте мне попробовать:

Framework:
Framework не что иное, как синяя печать решения, которые будут обеспечены для выполнения задачи или работы. Синяя печать должна иметь такую ​​информацию, как:
1. Какие компоненты (инструменты) будут задействованы или разработаны. И как они связаны
2. как компоненты будут поддерживаться
3. что вход для всех компонентов и то, что они возвращаются назад
4. как компоненты становятся инициатором и что является окончательным вывод, интегрируя все компоненты

Архитектура: Архитектура - это дизайн, который рассказывает нам, как рамки (или) given_solution будут реализованы в ожидаемой среде.

Смежные вопросы