- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尽管在谷歌上搜索了很多,但我还是找不到明确的答案来解决我的疑问。
我尽可能地尝试应用“SOLID”,并尝试使用常识并在我看到一种模式产生的问题多于它试图解决的问题时避免使用一种模式。我不想应用一种模式来创造生活如果您明白我的意思,那么仅仅为了“我编写模式”而使用我的代码的其他人很难......
现在我正在纠结于一个我认为最容易掌握的原则“SRP”
您如何将这些原则实际应用到存储库中?
假设我有一个
通常他们会有像论文这样的方法
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/
我刚刚开始 iOS 应用程序开发,到目前为止,这是一次很棒的体验。 Apple 文档很棒,但我有一些问题不是技术性的,只有有经验的人才能回答。 我有一堆 UIViewController 处理它们控制
我几天前开始学习 react-redux-immutable,但我仍然对构建我的应用程序感到困惑。我有 php(symfony/laravel MVC 背景),所以要理解一些 javascript 概
每次查看 SharpDX 代码并尝试遵循 DirectX 文档时,我都会遇到困难。有没有一个地方清楚地列出了每个编号的类映射到什么以及它们存在的原因? 我说的是这样的事情: D
我正在使用 Robospice 库 创建应用程序。这是处理互联网连接的绝佳选择,因为库的核心是基于 Android 服务的,所以我们的连接与 Activity 生命周期无关。 我们正在创建我们的请求并
我可能在这里分析过度了,但是根据我对 MVC 的阅读,似乎有很多关于如何做事情的观点。 是否有一个“最佳实践”网站或文档来定义 MVC 各个部分的职责? 请记住,我使用 EF/Repository&U
我是一名优秀的程序员,十分优秀!