存储库之间调用方法 - 存储库模式
我正在使用存储库模式(如 https://dotnet.microsoft.com 中的示例/apps/aspnet/mvc 站点)在 ASP.NET MVC 应用程序中。 我有两个存储库,一个称为 CategoryRepository,另一个称为 ProductRepository。 我还使用两个服务(CategoryService 和 ProductService)来验证和调用存储库方法。 我需要 ProductService 中的类别列表,返回类别的方法已在 CategoryRepository 中实现。 我的问题是,从 ProductService 调用 CategoryRepository 中存在的 ListCategories 方法的正确方法是什么? 我不想在 ProductRepository 中实现另一个 ListCategories 方法(DRY 哲学)。 谢谢。
I'm using the Repository Pattern (like the examples in the https://dotnet.microsoft.com/apps/aspnet/mvc site) in a ASP.NET MVC application. I have two repositories, one called CategoryRepository an other called ProductRepository. I also use two services, the CategoryService and ProductService to validate and call the repositories methods. I need a list of categories in ProductService, a method that return one is already implemented in the CategoryRepository. My question is, which is the correct way to call the ListCategories method that exists in CategoryRepository from ProductService? I don't want to implement another ListCategories method in the ProductRepository (DRY philosophy). Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我建议将类似的存储库整合到一项服务中。 因此,如果您正在创建电子商务应用程序,请将 ProductRepository、CategoryRepository 等汇总到 CatalogService 之类的内容中,并让它托管所有相关的存储库。
I would recommend rolling similar repositories into one service. So if you're creating an e-Commerce application roll up ProductRepository, CategoryRepository etc into something like CatalogService and have it host all repositories that are related.
一种选择是为 ProductService 类提供 CategoryService 的实例。
然后,您可以从 ProductService 访问类别列表,而无需建立与任何特定 CategoryService 实现的直接耦合。
One option is to provide the ProductService class an instance of CategoryService.
You could then access the category listings from the ProductService without having to establish a direct coupling to any specific CategoryService implementation.