作爲維護大量遺留代碼的一部分,我們需要更改部分設計,主要是爲了使其更易於測試(單元測試)。我們需要解決的問題之一是組件之間的現有接口。兩個組件之間的接口是一個只包含靜態方法的類。尋求關於重新設計接口的建議
簡化的例子:
class ABInterface {
static methodA();
static methodB();
...
static methodZ();
};
該接口用於通過組分A,使得不同的方法可以以順序使用ABInterface ::了methodA()準備一些輸入數據,然後組分B.
中調用適當的功能現在我們正試圖重新設計此界面以各種理由:
擴展我們的單元測試覆蓋率 - 我們需要資源這種組件與短線/模擬之間的依賴關係將被引入
這些組件之間的接口與原始設計(即,在這個接口類之外創建了許多用於組件間I/F的新功能)。
- 代碼是舊的,隨時間變化很大,需要重構。
該更改不應該對系統的其他部分造成干擾。我們試圖限制在生產代碼中留下許多需要測試的工件。性能是非常重要的,在重新設計之後應該不會(或非常小)降級。代碼在C++中是OO。
我在找一些想法採取什麼方法。有關如何有效地做到這一點的任何建議?
對於重構建議,單個類接口並不多有用的。我們寧願需要某種「輕量級」的uml圖。爲了正確重構,這是我們需要的信息流。 – 2010-06-03 17:04:03
它只有一個接口類,它的靜態方法在組件A中用於對組件B進行正確調用。兩個組件不僅僅是2個類,而是庫。信息流 - 來自組件A的方法,使用接口類中的靜態方法調用B中的方法。在B中,完成了一些計算,填充了一個或多個輸入參數,並將適當的返回代碼返回給A中的調用函數。我希望這可以更好地解釋流程(我沒有準備好任何uml)。 – ratkok 2010-06-03 17:23:25