2
我設計一個新的組件到系統,試圖跟隨DI上的各種指引,讓我們得到回報在隔離方面,嘲諷等DI和複合組件 - 設計
所以我有以下組成部分(示爲一個抽象):
- 擷取 - 支持IFetcher,其 來自特定數據源 取出數據。返回IDataSource。
- Builder - 支持IBuilder,其中 從IDataSource構建一個結構。
我想在「表演」(一個更好的名稱想)組件來包裝這些了,這將做到以下幾點:
IDataSet Performer.Perform(IFetcher fetcher, IBuilder builder)
{
IDataSource ds = fetcher.Fetch();
return builder.BuildDataSet(ds);
}
爲了遵守依賴注入和毀滅之王準則(據我瞭解他們),我通過IFetcher和IBuilder組件。
我的問題 - 這聽起來像一個可接受的設計?與同事的對話符合「是的,聽起來不錯」,但並不完全相信Performer類的封裝。
我看到它的方式,Performer是一個複合控件,它將幾個不同的組件粘合在一起,這應該是可以接受的。唯一的問題是我是否應該有一個'Performer Factory',但考慮到實際組件(IFetcher和IBuilder)可以被嘲弄,這看起來有些過分。
任何想法,將不勝感激,謝謝。
謝謝你。我的設計由於其他原因而略有變化,但其更廣泛的方面仍然存在。 – Duncan 2008-12-04 16:05:28