2010-09-18 106 views
6

Estoy buscando cómo estructurar la capa de mi aplicación entre la capa de presentación y la capa de modelo/objeto de negocio. Veo ejemplos usando clases de Controlador y otros usando clases de Servicio. ¿Son estas las mismas cosas con diferentes nombres para diferentes metodologías, o hay una diferencia más fundamental?¿Cuál es la diferencia entre un controlador y un servicio?

Editar: Para poner la pregunta en contexto, esta es una aplicación PHP que utiliza Doctrine como el ORM.

Respuesta

2

Diría que los términos como Controller son básicamente los mismos nombres para cosas potencialmente muy diferentes dependiendo de la metodología/marco que esté utilizando. En un nivel muy alto, pueden realizar la misma acción, de ahí el uso del nombre genérico, pero sus responsabilidades y alcance dentro del contexto del marco generalmente serán mucho más específicos y diferentes.

Por ejemplo: El controlador en MVC tiene poco o nada en común con la capa de controlador en WCSF.

Creo que estos términos como Controller/Service, etc. son genéricos y, por lo tanto, se han utilizado en muchos marcos, pero tienen un significado especial en el marco de referencia.

Además, específicamente, un controlador y un servicio para mí son dos conceptos completamente diferentes.

controlador es algo así como una capa que es responsable de orquestar la lógica dentro de la aplicación/o un aspecto de la aplicación

servicio, para mí, es básicamente la API externa a través del cual se expone aspectos de su aplicación en una manera estándar

Cuestiones relacionadas