Ответ 1
Позвольте мне проиллюстрировать разницу.
Структура:
Архитектура:
Я хотел бы знать разницу между каркасом и архитектурой.
например: dotnetnuke
- это структура, а mvc
- архитектура.
поэтому, если мы возьмем оба этих примера, может ли кто-нибудь сказать мне разницу между ними?
Хотите узнать, какой из них используется, когда и где?
Что хорошо с точки зрения удовлетворенности пользователей?
Позвольте мне проиллюстрировать разницу.
Структура:
Архитектура:
Общепринято это различие:
Проще говоря - архитектура - это теория, каркас - это реализация.
Frameworks - это набор классов и инструментов, которые помогут вам разработать отличные программные средства... например .net framework или Qt.
Архитектура совершенно иная: она относится к шаблону проектирования или тому, как организовано приложение или структура. Каковы модули, которые его составляют и как они общаются вместе!
Также следует отметить разницу между дизайном и архитектурой:
Дизайн: когда вы говорите о том, что делать, когда пользователь входит в систему?
Ex. Удобство, мобильность, доступность и т.д.Архитектура: когда вы говорите о том, что делать, когда 5000 пользователей регистрируются одновременно?
Ex. Масштабируемость, надежность, доступность, производительность и т.д.
Архитектура - это стиль, абстрактная идея, поток, методология, концепция. Framework - это то, что реализует стиль, идею, концепцию и т.д. Или упрощает ее реализацию. пример,
Архитектура. Каждый компонент должен иметь стандартные подключаемые интерфейсы, и должно быть возможно подключить любой компонент к любому другому.
Рамка. Тогда строительными блоками lego могут быть рамки.
Библиотека: некоторые готовые комбинации блоков, которые будут работать в качестве столпов.
Приложение: структура здания, использующая столбы и другие строительные блоки (приложение).
Рамки обычно являются частью вашей архитектуры. Они обычно являются частью инфраструктуры вашего кода. MVC - это структура, как и ASP.NET, WinForms и многие другие библиотеки (NHibernate, PostSharp и др.).
Архитектура ссылается на то, как вы скомпилируете свое программное обеспечение - как оно организовано, как взаимодействуют различные классы и модули.
Framework является частью реализации архитектуры. Скажем, наше приложение будет организовано в соответствии с архитектурой MVC и будет использовать для этого среду SpringMVC. Различные структуры организованы в соответствии с различными архитектурными узорами. Кто-то может сказать, что термин "каркас" сам описывает архитектурный образец. Его "противоположность" - это "библиотека", потому что библиотеки напрямую контролируются вашим приложением, в то время как фреймворки используют инверсию управления, и они контролируют выполнение вашего кода. Хотя, существуют разногласия в использовании термина "рамки".
Я считаю, что фреймворк - это то, что создано кем-то и доступно вам для достижения цели. Подобно MFC, это среда для создания приложения GUI. Frameworks полностью контролирует вас, но дает вам преимущество не пытаться делать все с нуля. В большинстве случаев лучше использовать хорошо спроектированную и проверенную структуру, а не писать свои собственные. В этом контексте архитектура - это то, как была разработана структура и, возможно, способ использования структуры из вашего приложения, поддерживающей видение дизайнеров фреймворка.
Но широкая архитектура является принципом дизайна и может охватывать не только программное обеспечение, но и полные системы. Подумайте о безопасности, интеграции, отчетности, инфраструктурных аспектах и т.д.
MVC - это шаблон, как предполагается, для архитектуры, но он может использоваться как техника в вашей архитектуре. Framework, как говорили другие, представляет собой набор инструментов, которые вы используете для реализации своей архитектуры. Другими словами, каркас - это пояс инструмента.
Архитектура - это логическое представление, это означает, что у нее нет какой-либо имплантации (классы java), просто есть идея, куда поместить каждый компонент (jsp, servlet и компонент модели для MVC architecure). Мы также можем назвать шаблон проектирования.
Framework - это реализация архитектуры. Как и Spring (архитектура приложений), Struts (архитектура веб-приложений MVS) - это некоторые рамки.
Позвольте мне попробовать:
Фреймворк:
Рамки - это не что иное, как синяя печать решения, которое будет предоставлено для задачи или работы. Синяя печать должна иметь такую информацию, как:
1. какие компоненты (инструменты) будут задействованы или разработаны. И как они связаны
2. как компоненты будут поддерживаться
3. каков вход для всех компонентов и что они возвращают обратно
4. Как инициируются компоненты и каков конечный результат, интегрируя все компоненты
Архитектура: архитектура - это дизайн, который рассказывает нам, как инфраструктура (или) given_solution будет реализована в ожидаемой среде.