检查是否正确解决了依赖性IOC

时间:2012-06-24 20:01:59

标签: c# .net dependency-injection castle-windsor

我在我的代码中使用了属性注入。 当我使用这些类时,如果我的属性不为null,我结束了检查每个函数的入口,并且我在每个函数中结束了很多检查。

在这种情况下推荐什么?如何使验证更好,或者我应该进行验证? 也许有些不是null属性?

谢谢

2 个答案:

答案 0 :(得分:4)

如果您的依赖项是强制性的,请将它们强制使用。

Container.Register(Component.For<Foo>().Properties(PropertyFilter.RequireAll));

通过这种方式,Windsor将确保在让您回到对象之前满足所有属性。

答案 1 :(得分:1)

如果依赖项不是可选的,并且您没有合理的本地默认值,则不要使用Property Injection并使用Constructor Injection。

Castle Windsor将在无法解析依赖项时抛出。如果您不想依赖此Castle功能,那么您应该验证传递给构造函数的依赖项是否为空。