很久很久以前

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            34 隨筆 :: 4 文章 :: 17 評論 :: 0 Trackbacks

          EMF中的三個部分:元數據meta-data,代碼生成code generation,默認序列化default serialization.
          EMF is part of the Model Driver Architecture(MDA).MDA是將整個應用軟件生存周期的開發管理都集中于模型上。這種模型是用元模型(meta-model)定義的。然后,使用映射,模型被用于生成software artefacts, 這就實現了整個系統。
          EMF所能做的:emf能夠用于描述和構建模型。所實現的模型可以被用于任何java應用程序的開發。
          對于ecore模型我們有幾點需要注意:
          1。在ecore文件的xmi描述中沒有各個元素之間的聯系,我們使用EReference來表示各個元素之間的聯系。
             對于兩個方向上的聯系,通過兩個成對的EReference來表示,每個聯系的類,都有一個eOpposite來保存它自己在所聯系類中的名字(引用)。
             對于單方向上的聯系,使用一個單獨的EReference,并且這個reference沒有eOpposite(因為對方并沒有對自己的引用)。
             連接的多重性通過upperBound和lowerBound來表示。多個用-1。
          2。使用EPackage可以像java中的package一樣用。
          3。兩種模型,一種是業務模型,一種是視圖模型。一般將兩種模型放在不同的package中。兩種方法將兩種模型聯系起來:
             一是構建一個新package,構建一個多重繼承的新package來將兩個package聯系起來。
             二是將兩種模型分開存儲,添加從視圖模型到業務模型的引用。這種方法兩個模型是松耦合的。這種單方向的引用也不會破壞(污染)業務模型。注意,由于這種引用是兩個package之間的,所以在移用的eType類型中需要指明包名。  

          除此之外,ecore還提供了一種遞歸的定義方法。就是使用eSubPackage來分別包含業務模型和視圖模型,并且在這兩個subPackage間建立reference(對于package來說是自己引用自己)。
          4。我們可以有多種方法來生成ecore模型。通過注釋的java接口(annotated java interface),通過rantional rose創建模型,通過XML Schema等等。

          posted on 2006-02-19 15:32 Long Long Ago 閱讀(647) 評論(0)  編輯  收藏 所屬分類: EMFEclipse

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 军事| 九江县| 贵德县| 徐汇区| 云霄县| 闽侯县| 读书| 潢川县| 交城县| 天水市| 蒙自县| 本溪市| 锡林浩特市| 东安县| 洱源县| 和田县| 鹤岗市| 常州市| 扶沟县| 秦安县| 乌鲁木齐县| 得荣县| 罗城| 霍城县| 九寨沟县| 三河市| 涞源县| 牙克石市| 山丹县| 瑞丽市| 依兰县| 外汇| 和平县| 乌鲁木齐市| 江口县| 大城县| 枝江市| 侯马市| 含山县| 乐安县| 兴业县|