type
status
date
slug
summary
tags
category
icon
password
這篇文章以淺顯易懂的「做蛋糕」比喻,解釋MDA(模型驅動架構)的概念,並深入淺出地說明CIM、PIM、PSM三層模型以及自動產生程式碼的過程,幫助讀者理解MDA如何提升軟體開發效率與跨平臺兼容性。
學習UML學到MDA這一塊
一直覺得書本上寫的很抽象
再講到CIM、PIM、PSM時就開始有點問號
因為沒有實際例子
讓我們重新用「做蛋糕」的比喻來解釋MDA吧
什麼是 MDA?
2001年OMG組織提出了MDA的架構
希望設計階段的模型與實作階段程式碼脫鉤。
想像你要做一個蛋糕,但你不直接動手做,而是先寫一份「蛋糕設計圖」。
這份設計圖會詳細描述:
- 蛋糕有幾層
- 要用哪些材料
- 裝飾的步驟
MDA 的核心概念就是:用「設計圖」(模型)來驅動整個軟體開發過程
而不是直接寫程式碼。
你就可以想像成你經營蛋糕工廠
當你畫好設計圖(UML)後
利用工廠的機器(MDA相關工具)產生出程式碼(蛋糕)
MDA 的三大步驟(分層設計)
- CIM(Computation Independent Model)→ 需求藍圖
➤ 就像你和客戶討論:「蛋糕要多大?什麼口味?預算多少?」
➤ 這階段只關心「要做什麼」,不談技術細節。
- PIM(Platform Independent Model)→ 通用設計圖
➤ 設計一個「通用蛋糕食譜」,例如:「三層巧克力蛋糕,用鮮奶油裝飾」。
➤ 此時不考慮「用哪個牌子的烤箱」或「用哪種攪拌器」。
- PSM(Platform Specific Model)→ 具體操作手冊
➤ 根據你家廚房的設備(例如:某品牌烤箱),把通用食譜轉換成具體步驟。
➤ 例如:「烤箱預熱到 180°C,烤 25 分鐘」
自動生成程式碼
➤ 最後,工具會把「具體操作手冊」轉換成真正的程式碼(例如 Java、Python)。
總結
- 當你使用MDA時,你就可以有跨平台優勢
你可以使用同一份設計圖,轉換成不同平台使用的語言
- 當你使用MDA時,你一修改設計圖
你的程式碼也可以跟著一起變動
- MDA 就像用「設計圖自動做蛋糕」
先畫通用設計圖(PIM)
轉換成具體操作手冊(PSM)
工具自動生成程式碼
- Author:Zaxc
- URL:https://notion-next-e1bkl3jtk-cabie8399s-projects.vercel.app//article/196f5826-d820-8068-9704-edd38e12f1e3
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!