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

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

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

    ivaneeo's blog

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

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    如果想利用單一class做太多事情,其內(nèi)往往就會(huì)出現(xiàn)太多instance變量。一旦如此,Duplicated Code也就是接踵而至了。

    你可以運(yùn)用Extract Class(149)將數(shù)個(gè)變量一起提煉 至新class內(nèi)。提煉時(shí)應(yīng)該選擇class內(nèi)彼此相關(guān)的變量,將它們放在一起。例如“depositAmount”和 “depositCurrency”可能應(yīng)該隸屬同一個(gè)class。通常如果class內(nèi)的數(shù)個(gè)變量有著相同的前綴或字尾,這就意味有機(jī)會(huì)把它們提煉到某 個(gè)組件內(nèi)。如果這個(gè)組件適合作為一個(gè)subclass,你會(huì)發(fā)現(xiàn)Extract Subclass(330)往往比較簡(jiǎn)單。

    有時(shí)候class并非在所有時(shí)刻都使用所有instance變量。果真如此,你或許可以多次使用Extract Class(149)或Extract Subclass(330)。

    和[太多instance變量]一樣,class內(nèi)如果有太多代碼,也是[代碼重復(fù)、混亂、死亡]的絕佳滋生地點(diǎn)。最簡(jiǎn)單的解決方案(還記得嗎,我們喜歡 簡(jiǎn)單的解決)是把贅余的東西消弭于class內(nèi)部。如果有五個(gè)[百行函數(shù)],它們之中很多代碼都相同,那么或許你可以把它們變成五個(gè)[十行函數(shù)]和十個(gè)提 煉出來的[雙行函數(shù)]。

    和[擁有太多instance變量]一樣,一個(gè)class如果擁有太多代碼,往往也適合使用Extract Class(149)和Extract Subclass(330)。這里有個(gè)有用技巧:先確定客戶端如何使用它們,然后運(yùn)用Extract Interface(341)為每一種使用方法提煉出一個(gè)接口。這或許可以幫助你看清楚如何分解這個(gè)class。

    如果你的Large Class是個(gè)GUI class,你可能需要把數(shù)據(jù)和行為移到一個(gè)獨(dú)立的領(lǐng)域?qū)ο螅╠omain object)去。你可能需要兩邊各保留一些重復(fù)數(shù)據(jù),并令這些數(shù)據(jù)同步(sync.)。Duplicated Observed Data(189)告訴你該怎么做。這種情況下,特別是如果你使用舊式Abstract Windows Toolkit(AWT)組件,你可以采用這種方式去掉GUI class并代以Swing組件。
    posted on 2005-08-18 14:41 ivaneeo 閱讀(233) 評(píng)論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
    主站蜘蛛池模板: 成人亚洲国产精品久久| 亚洲福利一区二区| v片免费在线观看| 日本特黄a级高清免费大片| 亚洲男同gay片| 四虎影视免费永久在线观看| 亚洲国产精品精华液| 日本最新免费不卡二区在线| 在线播放亚洲精品| 亚洲日本一区二区一本一道 | 亚洲高清最新av网站| 欧洲乱码伦视频免费国产| 三上悠亚亚洲一区高清| 麻豆精品不卡国产免费看| 久久久无码精品亚洲日韩京东传媒| 91精品成人免费国产片| 最新亚洲卡一卡二卡三新区| 永久免费无码网站在线观看| 特级毛片在线大全免费播放| 亚洲午夜福利717| 国产高清免费视频| 亚洲欧美日韩久久精品| 免费观看亚洲人成网站| v片免费在线观看| 久久综合亚洲色HEZYO社区 | 18禁黄网站禁片免费观看不卡| 亚洲乱码在线播放| 日韩电影免费在线| 黄色视屏在线免费播放| 亚洲午夜电影在线观看| 国产成人综合久久精品免费| 国产福利电影一区二区三区,免费久久久久久久精 | 天天摸天天碰成人免费视频| 无忧传媒视频免费观看入口| 亚洲AV中文无码乱人伦下载 | 午夜视频免费成人| 最近免费字幕中文大全| 国产成人精品日本亚洲11| 精品国产人成亚洲区| 麻豆一区二区免费播放网站 | 99国产精品免费视频观看|