<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ivaneeo's blog

    自由的力量,自由的生活。

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    作法(Mechanics)
      • 修改presentation class,使其成為domain classObserver[GoF]
          • ==》如果尚未有domain class,就建立一個。
          • ==》如果沒有[從presentation class到domain class]的關聯性(link),就將domain class保存于presentation class的一個值域中。
      • 針對GUI class內的domain data,使用Self Encapsulate Field(171)。
      • 編譯,測試。
      • 在事件處理函數(event handler)中加上對設值函數(setter)的調用,以[直接訪問方式]更新GUI組件。
          • ==》在事件處理函數中放一個設值函數(setter),利用它將GUI組件更新為domain data的當前值。當然這其實沒有必要,你只不過是拿它的值設定它自己。但是這樣使用setter,便是允許其中的任何動作得以于日后被執行起來,這是這一步驟的意義所在。
          • ==》進行這個改變時,對于組件,不要使用取值函數(getter),應該采取[直接取用]方式,因為稍后我們將修改取值函數(getter),使其從domain object(而非GUI組件)取值。設值函數(setter)也將遭受類似修改。
          • ==》確保測試代碼能夠觸發新添加的事件處理(event handling)機制。
      • 編譯,測試。
      • 在domain class中定義數據及其相關訪問函數(accessors)。
          • ==》確保domain class中的設值函數(setter)能夠觸發Observer模式的通報機制(notify mechanism)。
          • ==》對于被觀察(被監視)的數據,在domain class中使用[與presentation class所用的相同型別](通常是字符串)來保存。后續重構中你可以自由改變這個數據型別。
      • 修改presentation class中的訪問函數(accessors),將它們的操作對象改為domain object(而非GUI組件)。
      • 修改observer的update(),使其從相應的domain object中將所需數據拷貝給GUI組件。
      • 編譯,測試。
    posted on 2005-09-07 12:19 ivaneeo 閱讀(312) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
    主站蜘蛛池模板: 成人免费一级毛片在线播放视频| 两个人看的www免费高清| 亚洲成年人免费网站| 亚洲成A∨人片在线观看不卡| 2022国内精品免费福利视频 | 3d动漫精品啪啪一区二区免费| 亚洲人精品午夜射精日韩| 国产精品无码一二区免费| 7777久久亚洲中文字幕| 三上悠亚在线观看免费| 亚洲人成网站在线播放vr| 91视频免费网站| 亚洲AV乱码久久精品蜜桃 | 久久精品成人免费观看| 成年女人色毛片免费看| 亚洲人JIZZ日本人| 成人久久免费网站| 亚洲一级二级三级不卡| 国产成人免费高清激情明星| 亚洲AⅤ永久无码精品AA| 一级片在线免费看| 久久国产亚洲精品麻豆| 91精品国产免费久久国语麻豆| 亚洲男人第一无码aⅴ网站 | 国产亚洲女在线线精品| 37pao成人国产永久免费视频| 亚洲国产精品人久久电影| 午夜影视在线免费观看| 免费看一级一级人妻片| 国产亚洲精AA在线观看SEE| 啦啦啦完整版免费视频在线观看| 亚洲最大福利视频| 亚洲国产精品视频| 国产精品久久久久久亚洲小说| 亚洲黄黄黄网站在线观看| 免费观看91视频| 亚洲色婷婷综合久久| **毛片免费观看久久精品| 亚洲精品国产综合久久久久紧 | 国产乱子精品免费视观看片| 亚洲AV成人无码久久精品老人|