hhh

          常用鏈接

          統計

          最新評論

          Swing 的MVC

            說到MVC,大家都知道他是構建GUI的有力模型。不過MVC本身比較抽象和寬泛,所以對于它的實現有很多。
               swing對于MVC的實現用一句話來說就是:一個GUI組件對應著一個MVC體系。
               在這個體系當中JComponent這樣的組件就扮演者MVC中的C,那拿JTable來說,MVC 就是 TableModel JTable TableUI.
               這種將MVC幾乎實施到每一個GUI元素的設計相當的靈活.對于swing 的MVC還有一個重要的特點就是它對于model 作了進一步的區分,那就是真正表達程序數據的model,和僅僅表達界面狀態的model.還拿JTable 來說就是: TableModel 與 TableColumnModel.
               在很多地方看到都說swing的這種MVC的劃分多被科學家欣賞,這我就不能茍同了,我是普通人,不過我也很欣賞.swing高雅而又不失實用.
               當然也有人會說盡管swing的MVC很精彩,不過通常我們程序中model都不是僅僅對應在一個GUI元素上,甚至不能確定要對應在哪些GUI元素上.
               定義這樣的類通常仍然很死:
               class MyModel implements TableModel,ListModel{
              
               }
              
               我覺得對于swing的設計沒有什么錯,它為每一個組件期待的model定義了相應的接口.但是我們程序當中的model又希望更獨立于GUI.
               為了達到兩全其美,到可以使用Eclipse里面的IAdaptable
              機制.讓你的model具有 IAdaptable能力,這樣你就可以將它隨便適配到哪個swing model 上.如此的組合真是從頭到腳的靈活性.
               還有swing的這種MVC設計也促成了swing的可插拔外觀特性.

          posted on 2006-10-17 17:42 hhh 閱讀(1100) 評論(1)  編輯  收藏

          評論

          # re: Swing 的MVC 2006-10-18 14:27 123bingbing

          增開7群,號碼 30440732
          8群 30756649
          9群 30178567
          10群 28694497

          我們的qq群:15096318 學習程序的都可以來  回復  更多評論   


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


          網站導航:
           
          主站蜘蛛池模板: 双鸭山市| 崇义县| 鄂州市| 平和县| 双鸭山市| 沾化县| 哈密市| 临安市| 呼伦贝尔市| 曲松县| 兴文县| 镇江市| 天津市| 腾冲县| 南昌市| 玉田县| 平武县| 霍林郭勒市| 刚察县| 星子县| 聂荣县| 健康| 锡林郭勒盟| 噶尔县| 阿图什市| 临安市| 江安县| 中卫市| 定日县| 奇台县| 航空| 若羌县| 贵南县| 聂拉木县| 合作市| 景泰县| 高雄县| 凤山县| 夹江县| 东乌珠穆沁旗| 卓资县|