隨筆 - 5  文章 - 0  trackbacks - 0
          <2007年9月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          與Eclipse Platform類似,Eclipse GEF通過大量使用設計模式來得到它的靈活性和擴展性。下面總結以下經常碰到的模式的小結。
          1. MVC
          與其他圖形框架類似,GEF使用MVC來消除UI之間的耦合。
          (1)Model:可以用任何Java對象來表示,model必須擁有某種notification機制。
          (2)Views: Figure/TreeItems, 在典型的GraphicalEditor中,Figure是用于在GraphicalViewer中顯示的Draw2D Figure,而TreeItems用于在Outline中的TreeViewer中顯示信息。
          (3)Controller(EditPart):通常對于每個Figure對應一個EditPart,EditPart用于修改,很多修改任務都是通過EditPolicy來實現的。
          2.Command
          Command封裝了Model的修改,可以通過繼承GEF中的抽象類Command,提供可Redo/Undo功能,我們主要是在execute()/redo()/undo()中完成業務功能的實現。
          3. Chain of Responsibility
          Chain of Responsibility通過將Request傳遞給多個對象,并給這些對象機會處理請求,從而將請求的發送者和接受者解除耦合。在GEF中,多個EditPolicy可以收到請求,返回Commands,這些Commands以鏈的方式組織在一起。
          4. State
          允許Graphical Editor在內部狀態發生改變的時候,修改編輯器的行為。對于GEF Editor,用戶切換工具可以改變編輯器的狀態。例如,對于鼠標按下事件,編輯器在激活選區工具和激活創建工具下的行為是截然不同的。詳細請見org.eclipse.gef.Tool接口,AbstractTool定義了幾個state,STATE_xxx.
          5. Abstract Factory
          提供Interface創建一系列相關或相依賴的對象。這個模式在根據模型部件創建編輯部件時被使用。
          6. Factory Method
          定義了方法創建對象,但是允許子類決定實例化的類。這個模式沒有被單獨討論,但是它是創建編輯部件的另一種可選的方法。createChild方法允許你不使用工廠就創建子編輯部件。

          posted on 2007-09-02 16:34 潮水的諾言 閱讀(752) 評論(0)  編輯  收藏 所屬分類: Eclipse GEF/EMF/GMF

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


          網站導航:
           
          主站蜘蛛池模板: 南汇区| 勐海县| 扶余县| 自治县| 文山县| 揭东县| 武清区| 长沙县| 比如县| 福安市| 谷城县| 醴陵市| 博白县| 梁平县| 五华县| 淮滨县| 汶上县| 长宁区| 沁水县| 德令哈市| 河间市| 当涂县| 开原市| 漠河县| 蓬安县| 潍坊市| 昌吉市| 常山县| 改则县| 乡宁县| 普宁市| 西吉县| 承德市| 禹州市| 泸西县| 理塘县| 临洮县| 楚雄市| 九龙县| 苍梧县| 平阴县|