我看过以下代码布局阅读论坛和其他博客文章,并进行了修改以提出一些问题。
public interface IService<T>
{
int Add(T entity);
void Update(T entity);
}
public abstract class ServiceBase<T> : IService<T>
{
public int Add(T entity) { ... }
public void Update(T entity) { ... }
}
public interface ICarService : IService<Car>
{
}
public class SomeBaseClass : ServiceBase<Car>, ICarService
{
public int Add(Car entity);
public void Update(Car entity);
}
我不明白的是让抽象类实现接口的好处。对我来说,它只是感觉有点重复,我无法理解让抽象类实现接口的好处。
- 为什么抽象类不
ServiceBase<T>
直接定义而不需要继承IService接口?这是加倍代码吗? - 为什么
SomeBaseClass
还必须实施ICarService
?ServiceBase 不应该足够吗?