【发布时间】:2011-03-01 13:50:24
【问题描述】:
我正在为我的应用程序处理异常处理层。
我读过几篇关于接口和泛型的文章。我以前使用过很多继承,并且对此领域我很满意。
我要实现一个非常简短的设计:
public interface IMyExceptionLogger
{
public void LogException();
// Helper methods for writing into files,db, xml
}
我有点困惑接下来应该做什么。
public class FooClass: IMyExceptionLogger
{
// Fields
// Constructors
}
我应该在FooClass 中实现LogException() 方法吗?如果是的话,那么我正在努力看看我如何更好地使用接口而不是具体类......
我有多种类将使用该接口,但我不想在每个类中编写该接口的实现。
同时,如果我在一个类中实现一个接口,然后在应用程序的不同层中使用该类,我仍将使用具体类而不是接口,这是一种糟糕的 OO 设计...
我希望这是有道理的。
欢迎任何反馈和建议。
请注意,我对使用 net4log 或其竞争对手不感兴趣,因为我这样做是为了学习。
谢谢
编辑:
又写了一些代码。因此,我将使用此接口实现各种记录器,即DBExceptionLogger、CSVExceptionLogger、XMLExceptionLogger 等。最终我仍然会得到必须在应用程序的不同层中使用的具体类。
【问题讨论】:
标签: c# generics interface code-reuse