【发布时间】:2011-04-14 00:04:54
【问题描述】:
我正在寻找如何在表示层和模型/业务对象层之间构建我的应用程序层。我看到使用 Controller 类的示例和其他使用 Service 类的示例。这些是相同的东西,不同的方法具有不同的名称,还是有更根本的区别?
编辑: 把问题放在上下文中,这是一个使用 Doctrine 作为 ORM 的 PHP 应用程序。
【问题讨论】:
标签: oop architecture
我正在寻找如何在表示层和模型/业务对象层之间构建我的应用程序层。我看到使用 Controller 类的示例和其他使用 Service 类的示例。这些是相同的东西,不同的方法具有不同的名称,还是有更根本的区别?
编辑: 把问题放在上下文中,这是一个使用 Doctrine 作为 ORM 的 PHP 应用程序。
【问题讨论】:
标签: oop architecture
我会说像控制器这样的术语基本上是相同的名称,可能会非常不同,具体取决于您使用的方法/框架。在非常高的层次上,它们可能会执行相同的操作 - 因此使用通用名称 - 但它们在框架上下文中的职责和范围通常会更加具体和不同。
例如:MVC 中的 Controller 与 WCSF 中的 Controller 层几乎没有共同点。
我认为控制器/服务等这些术语是通用的,因此已在许多框架中使用,但它们在参考框架内具有特殊含义。
另外,具体来说,控制器和服务对我来说是两个完全不同的概念。
控制器类似于一个层,负责在应用程序/或应用程序的一个方面编排逻辑
对我来说,Service 基本上是外部 API,您可以通过它以标准方式公开应用程序的各个方面
【讨论】: