平台無關的文字誤用
2003 年 9 月 12 日
關於 模型驅動架構 (MDA) 的一大主張是,它允許您在平台無關模型 (PIM) 中開發系統,然後可以將其轉換為 .NET 或 Java 等技術的平台特定模型 (PSM)。一位警覺的讀者應該會說:「等一下,Java 的重點不就在於平台無關嗎?那為什麼我需要一個平台無關的技術來產生另一個平台無關的技術?」
要思考平台無關,您首先必須決定您對平台的定義。對於從事 Java 等技術的人來說,平台是指您的硬體和作業系統。我可以在我的 Windows 電腦上執行用 Java 編寫的程式,並在幾乎不費吹灰之力的情況下在我的 Unix 電腦上執行它們。這就是我習慣的平台無關形式。
當 MDA 談論平台無關時,它將您的程式設計環境視為平台。但這完全是胡說八道。MDA 使用一堆 OMG 標準 (UML、MOF、XMI、CWM 等),這些標準與 Java 堆疊 (或 .NET 堆疊) 一樣是一個平台。您所做的只是將一個 (硬體/作業系統) 平台無關的程式設計環境換成另一個。您並沒有獲得更多的獨立性。
事實上,有人可能會說您的情況更糟。讓我們來看看任何程式設計師都必須編寫的最簡單程式:Hello World。您要如何使用標準 OMG PIM 平台來執行此操作?嗯,您無法執行,因為 OMG PIM 標準中沒有定義 I/O 函式庫。您必須呼叫特定於平台的函式,或者必須建立自己的函式庫,而這些函式庫自然是非標準的。
現在,這並不表示 MDA 是浪費時間。MDA 訊息還有其他潛在的好處。但平台無關的論點沒有根據。