【发布时间】:2012-03-22 14:36:58
【问题描述】:
假设我有一个将 IFileLogger 作为构造函数参数的类。
public MyClass : IClass
{
private IFileLogger Logger;
public MyClass(IFileLogger Logger)
{
this.Logger = Logger;
}
}
在那个类的某个地方它调用Logger.Write("Data");
IFileLogger 有一个 DirectoryPath 属性;
需要设置此项,以便 IFileLogger 知道将文件写入何处。
这是如何设置的?
我的想法是在类上设置一个属性,然后在构造函数中设置 IFileLogger.DirectoryPath = this.DirectoryPath。
这似乎是错误的,因为 IClass 需要在其中包含属性,并且您最终会创建一个仅在底层需要的属性链。
你能帮助那些只见树木不见森林的人吗?您还会编写测试以及如何确定 IFileLogger 是否填充了其 DirectoryPath?
【问题讨论】:
标签: c# .net unit-testing design-patterns tdd