问题描述
我有一个包含控制器、服务和存储库的设计,但我怀疑中介模式如何融入设计中。我见过的使用中介者模式的例子只有控制器和存储库。我的中间层“服务”让我思考如何在我的案例中实现它。
我会首先解释为什么我有这个设计。
例如我有一个带有 createuser() 方法的 UserController。控制器将请求路由到 UserService。 UserServices createuserAsync() 负责验证请求、在数据库中创建用户(使用 UserRepository)和发送电子邮件等。它可能使用多个服务和存储库。
另一个可能是带有 GetDashboard() 方法的 DashboardController。它使用 DashboardService 上的 GetDashboardAsync() 方法从不同的服务和存储库收集信息。
通过这种方式,存储库方法可以在不同的服务中重用。它甚至返回 IQueryable 集合,以便服务可以对查询进行更多过滤,即选择更少的数据或使用计数,例如仪表板查询。
那么我是实现从控制器到服务还是从服务到存储库的中介模式?
我的想法是从服务到存储库实现它,因为这里我有很多 DI。
另一个想法是,如果从服务中,我只从服务到存储库,这可能是一种更清晰的模式。但有时我在服务中使用服务。我不确定这是否会成为实现中介者模式的问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)