gpt4 book ai didi

c# - 单一职责原则和存储库

转载 作者:行者123 更新时间:2023-11-30 22:02:39 24 4
gpt4 key购买 nike

尽管在谷歌上搜索了很多,但我还是找不到明确的答案来解决我的疑问。

我尽可能地尝试应用“SOLID”,并尝试使用常识并在我看到一种模式产生的问题多于它试图解决的问题时避免使用一种模式。我不想应用一种模式来创造生活如果您明白我的意思,那么仅仅为了“我编写模式”而使用我的代码的其他人很难......

现在我正在纠结于一个我认为最容易掌握的原则“SRP”

您如何将这些原则实际应用到存储库中?

假设我有一个

  1. IEmployeeRepository
  2. IUserRepository
  3. IProductRepository

通常他们会有像论文这样的方法

public interface IUserRepository
{
User GetUser(int id);
IEnumerable<User> GetAllUser();
void DeleteUser(int id);
}

同样适用于员工和产品。

我们是说这些方法中的每一个都应该是它自己的一个类吗?即使有时我们谈论的是一行代码?

任何地方的任何建议或示例应用程序都将不胜感激。

非常感谢

最佳答案

如果您很难弄清楚单一职责模式的限制,那么您可以转而寻找不使用 SRP 的类的明显示例。例如,一个为用户实现业务规则以及配置用户数据库备份的类,顺便说一下,还有一些特殊的日志记录到它公开公开的文件,因为它是一个相当巧妙的 hack。你绝对应该避免这种情况。

您似乎能够一直应用 SRP 以便每个方法都可以进入单独的类的原因之一可能是因为您有一个贫血领域模型。也许您的应用程序只是在数据库之上公开 CRUD 操作,而您的应用程序中没有实现真正的业务规则?

在任何情况下,它都没有应用 SRP 将 UserRepository 拆分为每个方法的类,但你甚至得到这个想法可能是 UserRepository 并不是真正的标志在你的架构中有任何目的。

关于c# - 单一职责原则和存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26702261/

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