2010-03-19 82 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