很久很久以前

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            34 隨筆 :: 4 文章 :: 17 評(píng)論 :: 0 Trackbacks
          <2006年2月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627281234
          567891011

          常用鏈接

          留言簿(9)

          隨筆分類

          隨筆檔案

          文章檔案

          相冊(cè)

          關(guān)注

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

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

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

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

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 邓州市| 宜州市| 平舆县| 阿坝| 衡阳市| 江都市| 师宗县| 鄱阳县| 恩平市| 长汀县| 瑞金市| 从化市| 高唐县| 阳山县| 乐安县| 明光市| 寿阳县| 邯郸市| 轮台县| 谷城县| 肃南| 达州市| 徐水县| 射洪县| 星子县| 延庆县| 广丰县| 西宁市| 凤城市| 西畴县| 虎林市| 连平县| 昭觉县| 沁源县| 鱼台县| 灵川县| 江北区| 织金县| 昌宁县| 奉节县| 醴陵市|