四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

解依賴與接縫

  接縫(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知識庫解依賴與接縫,轉載需保留來源!

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

主站蜘蛛池模板: 在灿烂阳光下歌谱完整| dearest动漫在线观看| dearestblue动漫免费观看| 生猴子视频| 李姝| 李修蒙出生年月| 全国急招压路机师傅| 女人香韩国电影| 秀场视频高清完整版| 中国未来会黑人化吗| 美女的内裤| 婴儿几个月添加辅食最好| 许颖| cctv神断狄仁杰第四部免费观看| 宋学士濂文言文翻译| 女娲怀孕生孩子视频| 儿童眼轴长度正常范围| 《潜艇行动》免费观看| 孤战迷城电视剧剧情介绍| 混凝土结构施工质量验收规范gb50204-2015| 野蛮人电影| 叶子楣图片| 妈妈的朋字韩剧| 八哥图库图谜| 麻豆自拍| 2014春节联欢晚会| 沉默的较量| 日本大片ppt免费ppt2024| 林正英全部电影| 恰纳卡莱之战完整版在线观看| 电视剧暗夜与黎明剧情介绍| 精神空虚,贪图享乐的整改措施| 国产精品久久久久精品三级ⅰ | 语文选择性必修中册电子课本| yotobe| 绝伦海女| 《东北警察故事2》大结局| 女人妣| 冰之下| 肢体的诱惑电影| 康熙微服第二部免费版第24集|