天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

解依賴與接縫

  接縫(seam)是Michael C. Feathers提出的概念。Feathers在Working Effectively with Legacy Code一書中對接縫的定義如下:

接縫,顧名思義,就是指程序中的一些特殊的點,在這些點上你無需作任何修改就可以達到改動程序行為的目的。

  “接縫”這個詞語不太好理解,根據我的理解,大約還是依賴點的含義。通過事先找到依賴點,并采取一定方式解除依賴,就能夠改善代碼質量,尤其是針對遺留代碼而言。準確而言,我們尋找接縫以及解依賴,就是為了代碼能夠具有好的可重用性與可擴展性,尤其是當我們能解除對其他外部服務的依賴時,可以帶來程序的可測試性。

  最近項目組的同事和我討論了這樣一個滿足可測試性的問題。項目中需要對返回的響應信息PlatformResponse進行處理,這些信息會根據不同的StatusCode,得到不同的提示或出錯信息。為了避免分支語句的判斷,同事利用hash table將StatusCode與提示(出錯)信息進行了映射,然后根據當前的StatusCode就可以返回對應的結果。返回結果后,還需要調用外部服務對消息進行處理,例如消息的輸出。由于之前相關的類PlatformResponse并沒有提供這一邏輯,相關服務要返回消息時,直接返回了PlatformResponse對象,然后再由客戶端根據當前的StatusCode來判斷,輸出相關的提示信息,所以同事將這些邏輯寫到了擴展方法中,例如定義PlatformResponseHelper靜態類:

public static class PlatformResponseHelper {
   
private static HashTable<String,String> messageMapping = //此處略
    public static void Output(this PlatformResponse response) {
        ServiceLocator.Lookup
<IMessageWriter>.Write(messageMapping[response.StatusCode]);
    }
}

it知識庫解依賴與接縫,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久伊人中文字幕有码 | 无限资源在线观看高清 | 精品夜夜澡人妻无码AV | 蜜柚在线观看免费高清官网视频 | 奶头从情趣内衣下露了出来AV | 国产高潮国产高潮久久久久久 | 嗯啊不要老师 | 成人在免费观看视频国产 | 涩涩999 | 日韩精品一区二区亚洲AV观看 | 欧美jizz19性欧美 | 97在线播放视频 | 99re5.久久热在线视频 | 男gv纯肉免费视频 | 欧美麻豆一精品一AV一免费 | 亚洲无AV在线中文字幕 | 国产成人国产在线观看入口 | 午夜精品久久久久久久99蜜桃 | 欧美人与动牲交A精品 | 日本无码人妻丰满熟妇5G影院 | 亚洲地址一地址二地址三 | 国产一区二区三区内射高清 | 成年免费大片黄在线观看岛国 | 秋霞特色大片18岁入口 | 奇米网一区二区三区在线观看 | 亚洲中文久久久久久国产精品 | 哺乳期妇女挤奶水36d | 脱jk裙的美女露小内内无遮挡 | 久久国产高清字幕中文 | 99九九99九九九视频精品 | 色欲天天婬色婬香影院 | 伊人久久大香线蕉综合电影 | 野花韩国中文版免费观看 | 13小箩利洗澡无码视频APP | 色噜噜色啪在线视频 | 女教师跟黑人男朋友激情过后 | 国产亚洲精品久久精品录音 | 日日撸影院在线 | 午夜福利影院私人爽爽 | 中文字幕 日韩 无码 在线 | 日日夜夜影院在线播放 |