为什么我更喜欢Unity上的StructureMap?
答案 0 :(得分:6)
StructureMap允许您按惯例注册您的类型。而不是明确地为IFoo注册Foo,为IBar注册Bar,为了IBaz注册Baz,您可以这样做:
ObjectFactory.Initialize(x =>
x.Scan(scan => {
scan.TheCurrentAssembly();
scan.WithDefaultConventions();
})
);
“默认约定”会自动注册具有相同名称和“I”前缀的接口的每个类型。还有一些其他内置约定(如果您键入命名不遵循此模式),并且定义您自己的约定是微不足道的。