我有一個名爲MessageService的類。這個班負責接收電子郵件(實際流量)。根據郵件的主題,它會檢測哪個流程處於危險中並執行操作。20依賴通過構造函數做IOC
一些代碼來解釋我的問題可能更爲簡單:
public class MessageService
{
public void ReadEmail()
{
switch (subject)
"1" :
Myservice.action1(); break;
"2" :
Myservice.action2(); break;
"qwwerty" :
MyOtherservice.Querty(); break;
etc...
}
}
爲了做到控制反轉,我想通過我的課MessageService的構造函數傳遞到服務的引用。
public MessageService(IMyService myService,IMyOtherservice myOtherservice, ect....)
{
Myservice=myService;
MyOtherservice=myOtherservice;
}
這對於一些引用很有用,但MessageService類可以處理高達20,30或40個不同的流。這將使我的班級初始化有點沉重。
有沒有更好的方法來實現它?通過一些設計模式?我應該關心國際奧委會嗎(儘管,我喜歡在......之後對班級進行測試)?
感謝您的幫助,
不錯的解決方案我很喜歡它。不幸的是,我不確定我的國際奧委會是否會完成這項工作,因爲它有些是由一些同事自己創造的,人們真的不願意轉向不同的東西。我會看看我能做什麼,我會回來..謝謝你! – Arthis 2011-04-29 07:17:55