服务层中的服务可以相互通信吗?

Gar*_*ghi 7 architecture c#-4.0

我有一个服务层,我的PredictionService需要知道某个Race是否存在.RaceService有一个方法DoesRaceExist(),但我不确定服务是否可以通信.

这也引出了一些其他问题.可以说我有一个Predictions.aspx页面.我使用MVP实现,因此当首次请求页面时,Initialize()演示者中的方法将运行.在Predictions.aspx需要多条信息,从预测和比赛,甚至更多.我应该从他们适当的服务中询问所有这些部分,还是应该只查询一次数据库并一次性获取我需要的所有信息?问题在于选择哪个服务,然后服务可能不仅仅是中继它的目的.

什么是最好的方式?

Ode*_*ded 8

如果serviceA需要获取数据或在serviceB上运行操作,则可以从serviceA调用serviceB.

但是,您可能会发现自己处于服务相互呼叫的情况 - 如果发生这种情况,请考虑使用一个协调不同服务的外观(因此它们不会直接相互调用).