通过属性进行可选依赖注入的约定是什么?

时间:2013-12-02 10:14:02

标签: c# design-patterns dependencies code-injection convention

当我有可选的依赖项时,例如日志记录会有什么约定? 我想让它们按属性注入。什么之后没有人设置它?每次都检查空值?或者得到一个什么都不做的假记录器? 这个问题与记录无关。 2.通过属性注入时我要求约定。

1 个答案:

答案 0 :(得分:1)

当您通常可以依赖默认实现但希望选择注入替代方法时,通常会使用属性注入。

在您的示例中,您可以创建一个类使用的DefaultLogger,除非有人通过属性传递替代方案。

我认为应该总是有一个东西的实例,也许是一个'空对象'。检查null感觉不对。

另外,你考虑过装饰吗?记录是一个很好的例子,说明装饰如何添加额外的,可选的功能。