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

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

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

    ivaneeo's blog

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

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    有時(shí)你會(huì)看到這樣的對(duì)象:其內(nèi)某個(gè)instance變量?jī)H為某種特定情勢(shì)而設(shè)。這樣的代碼讓人不易理解,因?yàn)槟阃ǔUJ(rèn)為對(duì)象在所有時(shí)候都需要它的所有變量。在變量未被使用的情況下猜測(cè)當(dāng)初其設(shè)置目的,會(huì)讓你發(fā)瘋。

    請(qǐng)使用Extract Class(149)給這個(gè)可憐的孤兒創(chuàng)造一個(gè)家,然后把所有和這個(gè)變量相關(guān)的代碼都放進(jìn)這個(gè)新家。也許你還可以使用Introduce Null Object(260)在[變量不合法]的情況下創(chuàng)建一個(gè)null對(duì)象,從而避免寫(xiě)出[條件式代碼]。

    如果class中有一個(gè)復(fù)雜算法,需要好幾個(gè)變量,往往就可能導(dǎo)致壞味道Temporary Field的出現(xiàn)。由于實(shí)現(xiàn)者不希望傳遞一長(zhǎng)串參數(shù)(想想為什么),所以他把這些參數(shù)都放進(jìn)值域(fields)中。但是這些值域只在使用該算法時(shí)才有效,其他情況下只會(huì)讓人迷惑。這時(shí)候你可以利用Extract Class(149)把這些變量和其相關(guān)函數(shù)提煉到一個(gè)獨(dú)立class中。提煉后的新對(duì)象將時(shí)一個(gè)method object[Beck](譯注:其存在只是為了提供調(diào)用函數(shù)的途徑,class本身并無(wú)抽象意味)。
    posted on 2005-08-19 15:24 ivaneeo 閱讀(412) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): refactoring-從地獄中重生
    主站蜘蛛池模板: 亚洲高清在线观看| 最近免费中文字幕MV在线视频3| 亚洲午夜无码久久久久| 女人18毛片免费观看| 日韩人妻一区二区三区免费| 乱淫片免费影院观看| 爱情岛论坛亚洲品质自拍视频网站 | 99免费观看视频| A级毛片成人网站免费看| 国产精品亚洲va在线观看| 亚洲欧洲日韩国产一区二区三区| 亚洲影院在线观看| 亚洲性猛交XXXX| 亚洲午夜精品第一区二区8050| 国产成人aaa在线视频免费观看 | 亚洲精品视频在线免费| 亚洲AV无码欧洲AV无码网站| 国产亚洲精品a在线观看| 亚洲成AV人在线观看网址| 啦啦啦在线免费视频| 在线精品免费视频| 曰批视频免费30分钟成人| 3344永久在线观看视频免费首页| a级在线免费观看| 青青操免费在线视频| a级精品九九九大片免费看| 久久免费国产精品| 久久99精品免费一区二区| 国产精品免费大片一区二区| 日本中文字幕免费看| 日韩在线视频线视频免费网站| 亚洲av日韩综合一区二区三区| 亚洲欧美日韩自偷自拍| 亚洲av永久无码一区二区三区| 亚洲砖码砖专无区2023| 久久精品国产亚洲av天美18| 久久亚洲精品无码网站| 免费大片黄在线观看| 久久国产美女免费观看精品 | 亚洲VA中文字幕不卡无码| 国产亚洲人成无码网在线观看 |