Продвинутый экзамен по программному обеспечению: стиль архитектуры программного обеспечения MDA
Продвинутый экзамен по программному обеспечению: стиль архитектуры программного обеспечения MDA

автор:Минмин Руюэ старший, CSDN Блог-эксперт, старший в Дачане Java Инженер, автор книг «Методология оптимизации производительности», «Разблокирование большого фабричного мышления: анализ «Руководства по разработке Java для Alibaba»», «Переучивание классики: «Эффективно»» Обозреватель журнала "Эксклюзивный анализ Java".

Концепции архитектуры MDA и основные модели

MDA(Model-Driven Архитектура, управляемая моделью (Архитектура) — это метод проектирования программного обеспечения, который направляет весь процесс разработки программного обеспечения с помощью Модели. Его основная концепция состоит в том, чтобы отделить бизнес-логику от платформенной технологии и полагаться на преобразование модели для достижения перехода от концептуального проектирования к конкретной реализации. MDA в основном содержит три ядра. Модель: Платформонезависимая. модель (PIM)、Платформенно-зависимая модель (PSM)и Код。

Платформонезависимая модель (PIM)

особенность

иллюстрировать

определение

Описывает бизнес-логику и правила системы, независимые от какой-либо конкретной технологии реализации.

преимущество

Его легко понять и поддерживать, а также повышает мобильность модели.

недостаток

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

Платформенно-зависимая модель (PSM)

особенность

иллюстрировать

определение

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

преимущество

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

недостаток

Привязка к конкретной платформе снижает мобильность модели.

Код

особенность

иллюстрировать

определение

На основе PSM — окончательный исполняемый код, создаваемый с помощью автоматизированных инструментов или написания вручную.

преимущество

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

недостаток

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

Преимущества и недостатки MDA

преимущество

  1. Улучшение ремонтопригодности и портативности:Разделив бизнес-логикуи Платформенная технология,Позволяет повторно использовать логику приложения на нескольких платформах.
  2. Повышение эффективности разработки:может пройти Модель Преобразованиеиавтоматизацияинструмент Быстро генерировать код,Сократите усилия по ручному кодированию.
  3. Содействие стандартизации:Содействие последовательному соблюдению требованийиздизайни Внедрение стандартов,Облегчает общение и сотрудничество между членами команды.

недостаток

  1. Сложность трансформации:отPIMконвертировать вPSMПроцесс кодирования может быть очень сложным,Особенно для сложной бизнес-логики и высоконастраиваемых платформенных технологий.
  2. кривая обучения:нуждатьсяразвиватьбыть освоенMDAСвязанные методы、инструментистандартный,Это может потребовать некоторого времени на обучение и практику.
  3. зависимости инструментов:Сильно зависит от поддержкиMDAмоделированиеинструментигенерация кодинструмент, выбор и использование этого инструмента также является непростой задачей.

Общие приложения

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

  • Информационная система предприятия (ERP, CRM)
  • система финансовых услуг
  • Система управления телекоммуникационной сетью

Далее я дам вам 10 связанных вопросов с несколькими вариантами ответов, которые помогут закрепить соответствующие знания об архитектуре MDA.

2. Вопросы по ИИ

(1) Название
  1. Как полное название МДА? A. Приложение, управляемое моделью Б. Модельно-ориентированная архитектура C. Архитектура модельного проектирования D. Модельное прямое применение
  2. Какая модель в MDA Архитектура описывает бизнес-логику и правила системы независимо от какой-либо конкретной технологии реализации? A. Платформонезависимая модель (PIM) B. Платформенно-зависимая модель (PSM) C. Код D. Модель бизнес-логики (BLM)
  3. В MDA это зависит от платформы модель Какова основная функция (PSM)? A. Описать бизнес-логику B. Добавьте технические подробности, специфичные для платформы. C. Сгенерировать окончательный исполняемый код D. Обеспечить высокоуровневый дизайн системы
  4. Что из перечисленного не является преимуществом MDA? A. Повышение эффективности разработки B. Уменьшите мобильность C. Улучшение ремонтопригодности D. Содействие стандартизации
  5. Для какого типа применения метод MDA наиболее подходит? A. небольшое личное приложение B. Крупные корпоративные приложения C. быстрое прототипирование D. Одноплатформенное приложение
  6. Какая часть MDA включает в себя процесс переключения с платформенно-независимой модели на платформо-зависимую модель? A. Модельопределение B. Модель Преобразование C. генерация кода D. Развертывание системы
  7. Как появился Код в MDA Архитектура? A. Написано вручную разработкой B. Создано из PSM с помощью средства автоматизации. C. Прямое преобразование из бизнес-логики Модель D. И А, и Б являются
  8. Что не является возможной проблемой при внедрении MDA? A. Изучите и применяйте новый инструмент B. увеличение стоимости проекта C. Сложность трансформации D. Улучшены возможности прямого редактирования кода.
  9. Что обычно требуется в практике MDA для конвертации из PIM в PSM? A. Переписать код вручную B. Особые правила и инструмент конвертации C. Продвинутые навыки программирования D. Богатые знания баз данных
  10. Под MDA Архитектура,Платформонезависимая модель (PIM) в зависимости от платформы модель (PSM) конверсия в основном зависит от чего? A. алгоритм искусственного интеллекта B. Ручное программирование C. Правила и инструмент конвертации D. Прямое кодирование
(2) Ответы и анализ
  1. Ответ: Б. Полное название MDA — Model-Driven. Architecture,Прямо сейчас Модельводить машину Архитектура。
  2. Отвечать:A。Платформонезависимая модель (PIM)Описывает бизнес-логику и правила системы, независимые от какой-либо конкретной технологии реализации.
  3. Ответ: Б. Платформенно-зависимая модель (PSM) добавляет в PIM технические детали, специфичные для платформы.
  4. Отвечать:B。MDAизпреимуществовключать Повышение эффективности разработки、Улучшение ремонтопригодностии Содействие стандартизации,вместо Уменьшите мобильность。
  5. Отвечать:B。MDAМетод особенно подходит для Крупные корпоративные приложенияизразвивать。
  6. Отвечать:B。от Платформонезависимая модель (PIM) преобразование в зависимости от платформы модель (PSM)из Этот процесс Модель Преобразованиеизчасть。
  7. Отвечать:D。Код может Создано из PSM с помощью средства автоматизации.,Он также может быть написан автором вручную.
  8. Отвечать:D。MDAВы можете столкнуться во время реализацииприезжатьизиспытаниевключать Изучите и применяйте новый инструмент、увеличение стоимости проектаи Сложность трансформации,вместо Улучшены возможности прямого редактирования кода.。
  9. Отвечать:B。отPIMконвертировать вPSMв целомнуждаться Особые правила и инструмент конвертации。
  10. Отвечать:C。PIMприезжатьPSMиз Конверсия в основном зависит от Правила и инструмент конвертации。
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 и детали кода