gpt4 book ai didi

c# - 实体应该实现接口(interface)吗?

转载 作者:太空狗 更新时间:2023-10-29 21:47:21 25 4
gpt4 key购买 nike

我个人没有让我的实体实现接口(interface)。对于 Task 类,我不会有只定义了相同属性的 ITask

虽然我已经看过几次,所以我想知道这些建议来自何处,以及您从中获得了什么好处。

如果您使用的是 ORM,那么“我可以更改我的数据访问权限”的论点是无关紧要的,那么这样做还有什么其他原因呢?

更新:
关于 INotifyPropertyChanged 的评论中提出了一个很好的观点。但这不是我的意思 - 我说的是这样的事情:

public interface ITask
{
int Id { get; set; }
string Description { get; set; }
}

public class Task : ITask
{
public int Id { get; set; }
public string Description { get; set; }
}

最佳答案

我曾经走过这条路(值对象的接口(interface))。这是背部的皇家疼痛,我建议不要这样做。常见的论点是:

模拟:它们是值对象。没什么可 mock 的。此外,与编写构建器(在 Java 中)或在 C# 中使用命名参数相比,模拟最终成为一个巨大的痛苦。

只读 View :我必须承认,我仍然更喜欢让某些东西默认不可变,只有在绝对需要时才让它可变。

隐藏功能:一般来说,对我来说范围已经涵盖了这个。

关于c# - 实体应该实现接口(interface)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4204109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com