2010-03-19 64 views
5

Unity中的StructureMap有沒有與註冊表類相當的功能?Unity中的註冊表相當於

我喜歡考慮一個圖層/組件/庫來自我配置 - 從而填充容器。所以「父」層只需要知道註冊類。

回答

5

不,沒有。在我們當前的項目中,我們手動模仿了註冊表的概念,儘管我們的實現並不像StructureMap註冊表那樣強大。

如果你只想要模塊化容器配置,你可以做的是創建一個標記接口(可能是IRegistry),然後讓你的應用程序掃描IRegistry類。使用Unity,您可以解決尚未註冊到Unity的類,因此您可以簡單地解析每個IRegistry實現。註冊表類可以將容器作爲構造函數參數,然後每個類可以根據需要爲該圖層/組件/庫配置容器。

public interface IRegistry 
{ 
    void Configure(); 
} 

public class ServicesRegistry : IRegistry 
{ 
    public ServicesRegistry(IUnityContainer container) 
    { 
     _container = container; 
    } 

    public sub Configure() 
    { 
     // Configure container for layer 
    } 
} 
在您的應用程序啓動時

現在的地方,你可以有一個應用程序的引導程序,要麼知道的所有的登記或知道如何掃描這些內容。

+0

呀嚴重影響,我認爲這是要走的路。謝謝。 – Michael 2010-03-22 08:03:29