我正在处理的项目有很多用于传递 Repository 对象的样板代码。父对象创建一个存储库,将其传递给任何实用程序/辅助方法以执行某些特定工作,然后最终父对象调用提交或保存在存储库上。很多时候,这些实用程序/辅助方法调用其他方法,这也需要存储库。一方面,我们肯定错误地使用了存储库模式,因为许多这些辅助方法实际上只是将存储库用作 DAO 甚至只是一个数据库连接,运行一个快速查询并完成它。我的问题是避免传递这些存储库的最佳方法是什么?
最原始的方法是在这些辅助方法中创建存储库,然后销毁它们(使用子句),这样做有明显的缺点,而且它不利于 DRY。
我还看到人们将这些存储库注册为服务并以这种方式使用它们的示例。
请考虑线程安全。
专家对此有何看法?任何例子将不胜感激。
PS。我是一名高级 Java 人员,但几乎是 C# 的入门级,所以任何与 Java 相关的比较也会很棒。