以 UML 的 Class Diagram (類別圖) 來說,可能有些人有玩過。當我們設計了一個如下的簡單的類別圖:
(Reference: Generating an EMF Model)
我們是否能將上面的類別圖直接轉換成程式碼?答案是肯定的,印象中現在已經有不少工具是可以將 UML 建構出來的 MODEL直接轉換成可執行的程式碼,微軟的VISUAL STUDIO 似乎也有一套這樣的工具,而 ECLIPSE 也當然有這樣的東西。
ECLIPSE 具相當多的 Modeling Projects 而且還是OPEN SOURCE, 如: Eclipse Modeling Framework (EMF), Graphic Modeling Projects (GMP), Textual Modeling Framework (TMF) ... etc.
當我們在解決各式各樣的問題的時後,有些時後我們可能會定義一些自己的 model來幫忙自解決問題。而我們自己定義的這些 model 是不是一樣可以跟 UML 一樣轉換成我們要的程式碼?答案也是肯定的。透過ECLIPSE 的Modeling Projects,我們可以很輕鬆的做到這件事。
以底下的範例來說:
筆者自己定義了幾個 pattern , , 想要來協助撰寫 dual core (mpu+dsp)的程式,然後將這些定義好的 pattern model在轉換成對應的程式碼。我們就可以用eclipse本身所提供的一堆 modeling tools/projects 來做到這件事。
不過 ECLIPSE對筆者來說,確實是一個知識的寶庫,可以直接跟著有十幾年軟體經驗的人學習,再來後續的幾篇會來整理有關 EMF, GEF, GMF 的介紹。