在编写当前项目时,我已经为所有对象创建了接口(interface)。我认为这被认为是良好的编码习惯。
我基本上已经得到了一堆接口(interface),这些接口(interface)定义了非常简单的类。
例如:
public interface IUser
{
int Id { get; }
string DisplayName { get; }
}
我真的不认为把这些放在这里有什么意义。我现在在几个地方遇到了问题,在这些地方我想做一些事情,比如定义运算符重载,这是我在接口(interface)级别做不到的。
我很想通过我的项目并删除所有这些接口(interface)(我会为我的存储库和其他定义更复杂行为的此类东西保留接口(interface)),但我有点胆怯要删除 100s代码行数以及随之而来的所有重构。
我想在这里听听其他用户的意见。在基本对象上定义接口(interface)有什么目的吗?把它们放在那里有什么坏处,即使它们不是真的必要吗?
最佳答案
如果接口(interface)没有增加值(value),则将其删除。当谈到实体上的接口(interface)时,除非它们有共同点,否则我认为将它们放在接口(interface)后面不会增加任何值(value)。
如果它们确实有共同点,这将允许您使用通用算法来处理它们。
我经常看到“实体”扩展包含审计信息的基类。
interface IAuditBase{
int Id { get; }
string UpdateDate{ get; }
//etc.
}
关于design-patterns - 是否有任何理由为非常基本的数据对象提供接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3494125/