将中介模式与 Web Api 中的服务和存储库一起使用

问题描述

我有一个包含控制器、服务和存储库的设计,但我怀疑中介模式如何融入设计中。我见过的使用中介者模式的例子只有控制器和存储库。我的中间层“服务”让我思考如何在我的案例中实现它。

我会首先解释为什么我有这个设计。

例如我有一个带有 createuser() 方法的 UserController。控制器将请求路由到 UserService。 UserServices createuserAsync() 负责验证请求、在数据库中创建用户(使用 UserRepository)和发送电子邮件等。它可能使用多个服务和存储库。

一个可能是带有 GetDashboard() 方法的 DashboardController。它使用 DashboardService 上的 GetDashboardAsync() 方法从不同的服务和存储库收集信息。

通过这种方式,存储库方法可以在不同的服务中重用。它甚至返回 IQueryable 集合,以便服务可以对查询进行更多过滤,即选择更少的数据或使用计数,例如仪表板查询

那么我是实现从控制器到服务还是从服务到存储库的中介模式?

我的想法是从服务到存储库实现它,因为这里我有很多 DI。

一个想法是,如果从服务中,我只从服务到存储库,这可能是一种更清晰的模式。但有时我在服务中使用服务。我不确定这是否会成为实现中介者模式的问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...