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

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

Мы часто говорим о программном обеспечении Архитектура, рамка, режим и платформа программного обеспечения, однако их часто путают. шаблон проектирования<рамка<Архитектура<платформа,С точки зрения повторного использования,шаблон Проектирование — повторное использование на уровне кода, рамка — повторное использование на уровне модуля, Архитектура — повторное использование на уровне системы, а платформа — повторное использование на уровне корпоративного приложения.

1. Архитектура и каркас

определение:

архитектура программного обеспечения:архитектура программного обеспечения Это системаэскиз。архитектура программного обеспечение Описанные объекты представляют собой абстрактные компоненты, которые непосредственно составляют систему. Связи между каждым компонентом четко и относительно тщательно описывают связь между компонентами. Дизайнархитектура программного Обеспечение состоит в том, чтобы разложить систему на несколько компонентов и описать обязанности этих компонентов и совместное поведение между ними.

программное обеспечениерамка:программное обеспечениерамкадаДоменно-ориентированный(нравиться ERP、вычислительные поля и др.)、Многоразовыйиз“Полуфабрикаты”программное программное обеспечение, которое реализует общие части области и предоставляет некоторые четко определенные точки изменений для обеспечения гибкости и масштабируемости. То есть дружелюбный софтрамка — это результат анализа домена программного обеспечения. обеспечениеизменять,Это шаблон для окончательного применения в полевых условиях.,Являются прикладными решениями Архитектуры, зависящими от языка и технологии.

Общие архитектуры и фреймворки:

(1) Многоуровневая архитектура: например, трехуровневая архитектура: уровень пользовательского интерфейса, уровень бизнес-логики, уровень доступа к данным.

(2) Архитектура, управляемая событиями: очередь событий, посредник событий, канал событий, процессор событий. Такие как: Netty, Spring mvc и другие фреймворки.

(3) Микроядерная архитектура: также известная как «подключаемая архитектура». Такие как: Shiro и другие фреймворки.

(4) Архитектура микросервисов представляет собой модернизацию сервис-ориентированной архитектуры (SOA). Каждая служба представляет собой отдельно развернутую единицу. Такие фреймворки, как Spring boot, Spring cloud и dubbo.

(5) Облачная архитектура в основном решает проблемы масштабируемости и параллелизма и является самой простой для расширения архитектурой.

разница:

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

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

соединять:

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

2. Выкройки и модели

Шаблоны и платформы легче понять, чем фреймворки и архитектуры.

модель:

Фактически, следует сказать, что так называемый шаблон представляет собой метод многократного использования. Он не обязательно отражает общие отношения между модулями, как «модель», но является надмножеством «модели» и может использоваться во всех аспектах. области дизайна. Шаблоны делятся на шаблоны кода, шаблоны проектирования и шаблоны платформы. Эти шаблоны проектирования имеют различные классификации, например следующие шаблоны творческого проектирования, такие как шаблон фабричного метода, шаблон абстрактной фабрики, шаблон прототипа и режим Singleton. Режим строительства (Builder) и т. д.

Шаблоны проектирования изучают отношения между объектами. Вообще говоря, объекты составляют программы, поэтому шаблоны проектирования часто используются в процессе проектирования (кодирования) программ. Но отношения между объектами можно применять и в более широком измерении: структура и связь между модулями, а также взаимодействие между процессами могут повторно использовать определенные идеи шаблона проектирования.

Модель:

Модель – это инструмент описания проблемы. Здесь необходимо отметить, что модель, о которой я говорю, - это не модель, полученная путем так называемого «математического моделирования» или «программного моделирования», а другая модель, например объектная модель, реляционная модель и т. д. Этот тип модели представляет собой набор правил, описывающих, как описывать концепцию, и ряд операций, описывающих, как концепции взаимодействуют друг с другом. Более типичной является реляционная модель, описывающая использование множества атрибутов (полей базы данных) для описания понятия (таблицы базы данных) и связи между этими понятиями, например Union (соответствует оператору объединения), Project (соответствует оператору объединения). чтобы выбрать имя столбца из имени таблицы) и так далее. Модель — это инструмент, который помогает людям фиксировать и анализировать проблемы. Другие часто используемые модели включают объектные модели, модели UML и т. д.

рамка и дизайн Модель:

Две концепции фреймворка и шаблона проектирования всегда легко спутать, но на самом деле между ними есть различия. Фреймворки обычно представляют собой повторное использование кода, шаблоны проектирования — это повторное использование дизайна, а архитектура находится где-то посередине, с некоторым повторным использованием кода, некоторым повторным использованием дизайна и иногда повторным использованием анализа. В производстве программного обеспечения существует три уровня повторного использования: внутреннее повторное использование, представляющее собой абстрактные блоки, которые можно публично использовать в одном и том же приложении; повторное использование кода, которое объединяет общие модули в библиотеки или наборы инструментов, чтобы их можно было использовать в нескольких приложениях. домены; приложения. Повторное использование фреймворков, т. е. предоставление общей или готовой инфраструктуры для специализированных доменов для достижения высочайшего уровня возможности повторного использования.

Хотя фреймворки и шаблоны проектирования схожи, они фундаментально различны. Шаблон проектирования — это описание повторяющейся проблемы в определенной среде и решение проблемы. Он более абстрактен, чем фреймворк; фреймворк может быть представлен кодом и может напрямую выполняться или использоваться повторно, при этом можно использовать только экземпляры. для шаблонов, выраженных в коде; шаблон проектирования представляет собой меньший элемент, чем фреймворк. Фреймворк часто содержит один или несколько шаблонов проектирования. Фреймворк всегда нацелен на конкретную область приложения, но один и тот же шаблон может применяться к различным приложениям. Можно сказать, что фреймворк — это программное обеспечение, а шаблон проектирования — это знание программного обеспечения.

3. Платформа

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

ссылка:

https://blog.csdn.net/qq_41699100/article/details/79228957

https://www.cnblogs.com/doit8791/p/9343826.html

https://blog.csdn.net/weixin_36317299/java/article/details/80558632

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода