一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

引入間接隔離變化(三)

  間接在分層架構中體現尤為明顯,引入層實則就是引入間接性。利用間接對變化進行隔離,使得變化只能影響一層。例如在領域層與數據庫之間引入數據訪問層,就可以隔絕因為數據庫發生的變化對領域帶來的影響。

  在分層架構中,我們應盡量保證在某一層中所有用到的組件都工作在同一個抽象層中,這意味著需要謹慎處理對象之間的協作,盡量避免跨層之間的調用。如果不同的層部署在不同的服務器,就會帶來不必要的消息處理,增加了網絡跳數與帶寬占用。拋開性能不談,跨層調用產生的依賴,可能破壞層的內聚性。倘若必須依賴于底層,我們也應該減少對底層的依賴點。要減少這種依賴,可以在同一層中提供一個間接接口,用于處理對底層的依賴關系,從而將變化集中于一處。

  對于模塊和組件中的對象協作,同樣遵循這一原則。假設系統定義了報表引擎組件,它需要調用數據引擎組件提供的服務,驅動引擎執行數據庫查詢,以獲得報表所必須的數據。一般采用的設計如下圖所示:image   這樣的設計充分體現了抽象的原則,保證了ReportEngine與DataEngine組件之間的松散耦合。在ReportEngine組件中,與報表相關的許多領域對象都需要調用DataEngineService,以獲得報表所需要的數據。然而,我在設計時并未滿足于DataEngineService接口引入的間接,而是在ReportEngine組件中再度引入了一層間接,我將其定義為DataEngineRepository,它屬于報表引擎的領域范圍:

public interface DataEngineRepository {
public List<Map<String, Object>> find(
CommandInfoPreparing commandInfoPreparing);
}

it知識庫引入間接隔離變化(三),轉載需保留來源!

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

主站蜘蛛池模板: 国产资源网站 | 色综合综合在线 | 黄色激情视频在线观看 | 免费在线观看色 | 欧美日韩亚洲人人夜夜澡 | 亚洲精品国产福利 | 777色淫网站女女免费 | 99久久精品国产免看国产一区 | 久久国产成人精品国产成人亚洲 | 久久精品国产线看观看亚洲 | 中文字幕亚洲一区二区v@在线 | 国产原创麻豆 | 日本三级成人中文字幕乱码 | 国内高清自拍 | 国产一区二区三区毛片 | 国产福利91精品一区二区 | 国产欧美自拍视频 | 亚洲人成伊人成综合网久久久 | 簧片免费视频 | 免费国产h视频在线观看86 | 国产系列欧美系列日韩系列在线 | 亚洲国产精品日韩一线满 | 中文字幕va一区二区三区 | 狠狠色噜噜狠狠狠狠97不卡 | 超人碰碰碰人人成碰人 | 在线中文字幕精品第5页 | 婷婷5月| 好吊妞在线播放 | 91亚洲国产成人久久精品网址 | www.日本一区 | 国产123| 人人免费人人专区 | 日韩视频免费一区二区三区 | 微拍秒拍99福利精品小视频 | 91麻豆精品国产高清在线 | 91原创国产 | 国产成人综合精品一区 | 色播视频在线 | 国模人体aⅴ | 在线观看91精品国产入口 | 级毛片久久久毛片精品毛片 |