c# - 这段代码应该是基类而不是接口(interface)吗?

标签 c# asp.net oop

接口(interface)与基类对我来说仍然是一个相当灰色的领域。我正在阅读一本关于 ASP.NET 3.5 企业开发的书,作者指出所有表都将具有以下字段:

InsertDate
InsertENTUserAccountId
UpdateDate
UpdateENTUserAccountId
Version

如果这是我对上述要求进行编码,我将创建一个包含这些字段的基本业务对象类,并且所有业务对象都将从它继承。但是,作者将它们创建为接口(interface)。馊主意?好主意?没关系?

更新

有一个实现此接口(interface)的基类。似乎所有业务对象都将从基础继承。但即便如此,我还是会把这个接口(interface)放在基类中......?

最佳答案

好吧,通常首选接口(interface),因为它允许更大的灵 active 和抽象性 - 但您可以通过使用 abstract 来实现这两者。基类实现接口(interface)。然后 95% 的时间你使用基类,当你需要不同的东西时,你只使用接口(interface)。

只是不要从您的业务代码中触及基类......只有界面。基类只是一个实现细节。

关于c# - 这段代码应该是基类而不是接口(interface)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1263018/

相关文章:

c# - 将 Web 服务配置转换为代码

c# - 串行调用异步方法

c# - 同一链接在页面中重复多次单击其中一个会更改所有相同链接的颜色

php - 在不使用全局变量的情况下在 PHP 函数之间共享变量

c# - 清理非托管代码中的内存泄漏

c# - 'Access-Control-Allow-Origin' header 包含多个值。但是我在标题中只定义了一个值?

php - 用户 'domain\name'登录失败

javascript - Page_ClientValidate 不是一个函数

c++ - 类中 constexpr 关键字的问题

c++ - 将用于串行通信的消息存储为 C++ 可行解决方案中的成员变量?