我已經使用了大量的依賴注入,但我想獲得關於如何在運行時處理來自用戶的信息的輸入。什麼是依賴注入用戶輸入的最佳策略?
我有一個類連接到COM端口。我允許用戶選擇com端口號。現在,我將該com參數作爲構造函數參數。理由是,如果沒有這些信息,類就不能運行,並且它是特定於實現的(這個類的模擬版本不需要com端口)。
另一種方法是爲具有「開始」方法,它採用在com端口,或具有設置com端口的屬性。這使得它與IoC容器非常兼容,但從類的角度來看它並不一定有意義。
好像邏輯路徑的衝突與依賴注入的設計,但它是因爲我的UI是針對特定類型的類中獲取信息。
其他替代方案將包括使用IoC容器,讓我通過額外的構造函數的參數,或者只是構建我需要在頂層的類,而無需使用依賴注入。
是否有這類問題的一個普遍接受的標準模式?
對不起,我應該已經更清楚了。 com端口只是一個數字。測試不是問題,因爲我可以創建類的模擬版本。提前不知道com端口,我從用戶那裏得到它。由於這種情況,使用戶界面使用界面似乎很愚蠢,因爲它需要一個需要com端口的實現。 – 2009-11-05 19:32:27