В чем разница между структурой и архитектурой?

Я хотел бы знать разницу между структурой и архитектурой.
например: dotnetnuke является основой и mvc архитектура.

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

12 ответов


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

основа:

Framework

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

Architecture


обычно это различие:

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

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


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


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

конструкция: когда вы говорите о том, что делать, когда пользователь входит в систему ?
Бывший. Удобство, мобильность, доступность и т. д.

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


архитектура - это стиль, абстрактная идея, поток, методология, концепция. Фреймворк-это то, что реализует стиль, идею, концепцию и т. д..или облегчает его реализацию. пример,

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

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

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

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


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

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


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


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


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

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


архитектура-это логическое представление, это означает, что у него нет никакой имплментации(классы java), просто есть идея, куда поместить каждый компонент(JSP, сервлет и компонент модели для архитектуры MVC). Мы можем также вызванный как картина дизайна.

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


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

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

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