DDD實戰篇-防腐層的正確理解

一般來說,爲了防止第三方接口污染我們的領域服務,我們需要定義一套防腐層,來完成參數的映射。如下圖所示:

這樣的好處就是當外部系統發生改變時,我們只需修改防腐層一處的代碼,而無需對領域邏輯進行修改。

但是,就開發效率角度,一些人就會有一些疑問,我將外部接口的參數原樣的拷貝到防腐層中,感覺沒啥必要,反而很影響效率。從而基本沒有什麼人在軟件開發的時候再去編寫防腐層來進行處理。

下面我將從三個方面敘述下防腐層真正的優點與使用方法:

  • 聚焦性:假設外部接口有100個參數,我們只需要關注10個參數,那麼我們防腐層只需要定義10個參數即可。
  • 封裝性:我們可能會在防腐層中對外部多個接口進行封裝處理,從而返回我們系統中真正需要的參數,而外部多個接口的封裝處理將沉澱到防腐層中。
  • 適配性:例如同一個字段,在外部系統叫做“地瓜”,在我們系統叫做“紅薯”,我們需要通過防腐層來轉化成我們系統約定的字段名。
  • 防禦性:我們定義防腐層後,可能不會對當前系統產生很大的正向影響,但是後續如果外部接口發生變更,那麼我們的收益非常大。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章