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

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

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

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
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose