【发布时间】:2011-06-03 10:06:18
【问题描述】:
我在很多地方看到过以下模式:
abstract class SimpleProvider<T>
{
public object Create(IContext context)
{
return CreateInstance(context);
}
protected abstract T CreateInstance(IContext context);
}
我不明白实际的区别,为什么不直接写成:
abstract class SimpleProvider<T>
{
public abstract T Create(IContext context);
}
更新:上面的 sn-p 它取自 Ninject 的文档,其中没有指定接口,但查看实际源代码我可以看到 SimpleProvider<T> 实现了接口 IProvider这解释了子呼叫的必要性并回答了我的问题。
【问题讨论】:
-
有没有public方法的用法?
标签: c# oop class-design abstract-class abstract-methods