23種設計模式之迭代器模式

14.1.1  工資表數據的整合

       考慮這樣一個實際應用:整合工資表數據。

       這個項目的背景是這樣的,項目的客戶方收購了一家小公司,這家小公司有自己的工資系統,現在需要整合到客戶方已有的工資系統上。

       客戶方已有的工資系統,在內部是採用的List來記錄工資列表;而新收購的這家公司的工資系統,在內部是採用的數組來記錄工資列表;但是幸運的是,兩個系統用來描述工資的數據模型是差不多的。

       要整合這兩個工資系統的工資數據,當然最簡單的方式是考慮直接把新收購的這家公司的工資系統,也改成內部使用List來記錄工資列表,但是經過仔細查看源代碼,發現有很多的代碼跟這個數組相關,還有很多是比較重要的邏輯處理,比如計算工資等,因此只好作罷。

現在除了要把兩個工資系統整合起來外,老闆還希望能夠通過決策輔助系統來統一查看工資數據,他不想看到兩份不同的工資表。那麼應該如何實現呢?

14.1.2  有何問題

       本來就算內部描述形式不一樣,只要不需要整合在一起,兩個系統單獨輸出自己的工資表,是沒有什麼問題的。但是,老闆還希望能夠以一個統一的方式來查看所有的工資數據,也就是說從外部看起來,兩個系統輸出的工資表應該是一樣的。

經過分析,要滿足老闆的要求,而且要讓兩邊的系統改動都儘可能的小的話,問題的核心就在於如何能夠以一種統一的方式來提供工資數據給決策輔助系統,換句說來說就是:如何能夠以一個統一的方式來訪問內部實現不同的聚合對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章