Soy de origen no informático y estoy luchando para entender los enfoques de diseño MVC y los marcos en general. "Obtuve" la reutilización del código, y la separación de la lógica de la pantalla, y "obtengo" encapsulación y desacoplamiento, pero no entiendo esto.Coldfusion, ¿cuál es la ventaja del diseño del controlador frontal sobre el controlador de página?
Por el momento simplemente pongo todo en la raíz, una subcarpeta separada para imágenes, cfcs e _includes, toda la interacción de la base de datos vía cfcs. Hago todo mi procesamiento en la parte superior de la página, luego una línea de comentarios y luego despliego/diseño de página debajo de eso.
La mayoría de los marcos que he visto parecen favorecer un controlador frontal, por lo que mi versión simplista de un controlador superior MVC sería una subcarpeta para cfcs, controladores y vistas y una gran declaración de cambio en index.cfm
<cfif not IsDefined("URL.event")>
<cflocation url="index.cfm?event=home" addtoken="No">
</cfif>
<cfswitch expression="#url.event#">
<cfcase value="home">
<cfinclude template="controllers/home.cfm"/>
<cfinclude template="views/home.cfm"/>
</cfcase>
<cfcase value="about">
<cfinclude template="controllers/about.cfm"/>
<cfinclude template="views/about.cfm"/>
</cfcase>
</cfswitch>
.. pero ¿qué ventaja real me da eso sobre el diseño de un controlador de página? A menos que sea solo el tipo de sitios que escribo, siempre me parece que la lógica del controlador es específica de una vista, no es como si un controlador pudiera adaptarse a varias vistas o varios controladores pudieran generar una sola vista, entonces ¿cuál sería el objetivo? separándolos?
La luz no se ha encendido todavía, ¿algún indicador?
OK aceptar plenamente que su la capa de servicio que debe ser diseñado para encapsular. Pero aparte de los problemas de reescritura de URL (suponiendo que uno no esté haciendo eso en el servidor web), ¿qué ventaja ofrece un controlador frontal frente a un controlador de página? Me parece que es solo otro archivo para abrir en el editor en lugar del controlador en la parte superior de la página, ver la parte inferior de la página. – Saul
@Saul: mira mi actualización. – orangepips
Ese MSDN era bueno, particularmente en lo que llamamos orquestación de procesos. Ese es un problema que he encontrado con los formularios de varias páginas. – Saul