【问题标题】:How to create loosely coupled services in MVC architecture?如何在 MVC 架构中创建松耦合的服务?
【发布时间】:2020-09-13 19:47:35
【问题描述】:

我尝试了很多次谷歌,但没有得到答案。

我正在构建一个 MVC 应用程序,但有一个问题困扰着我。我想创建一个松散耦合(尽可能)的服务。 让我们假设在控制器中的一个方法中我想使用 3 种不同的服务(服务 A、B、C)。

假设服务 C 需要服务 A 和服务 B 返回值才能工作,您实际上是否将所有“调用逻辑”都放在了控制器中?也许在不同的层?如果是,哪一层是理想的?

附上一些代码以更好地解释我的问题。

function evaluateStatus(a, b){
   try {
   const aResult = this.aService.getSomething();
   const bReulst = this.bService.getSomething();

   if(aResult === "SOME VALUE" && bResult <= 50){
      const cResult = this.cService.doSomething(aResult); 
   }
   } catch(e) { 

   }

   return something;

}

非常感谢。

【问题讨论】:

    标签: node.js model-view-controller mvvm architecture


    【解决方案1】:

    控制器可以调用多个服务来获取数据以将其传递给视图/客户端。没有必要为此设置另一层。控制器包含站点的逻辑以及模型/服务和视图/客户端之间的粘合。

    但是,如果您有在多个地方使用的通用业务逻辑,那么您可以将它们放到可以重用的类/函数中。

    【讨论】:

      猜你喜欢
      • 2019-11-01
      • 2011-04-13
      • 2018-11-19
      • 2018-12-09
      • 1970-01-01
      • 1970-01-01
      • 2011-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多