控制器和服务之间有什么区别?

时间:2010-09-18 02:59:59

标签: oop architecture

我正在寻找如何在表示层和模型/业务对象层之间构建我的应用层。我看到使用Controller类的示例和使用Service类的其他示例。对于不同的方法,这些是不同名称的相同的东西,还是有更根本的区别?

编辑: 要将问题放在上下文中,这是一个使用Doctrine作为ORM的PHP应用程序。

1 个答案:

答案 0 :(得分:2)

我会说像Controller这样的术语基本上是相同的名称,可能是非常不同的东西,这取决于你使用的方法/框架。在非常高的层次上,它们可以执行相同的操作 - 因此使用通用名称 - 但是它们在框架环境中的职责和范围通常会更加具体和不同。

例如:MVC中的Controller与WCSF中的Controller层几乎没有任何共同之处。

我认为像控制器/服务等这些术语是通用的,因此已经在许多框架中使用,但它们在参考框架内具有特殊含义。

另外,具体来说,控制器和服务对我来说是两个截然不同的概念。

Controller就像一个层,负责在应用程序/或应用程序的一个方面编排逻辑

对我来说,服务基本上就是外部API,通过它可以以标准方式公开应用程序的各个方面