Tengo la duda de como implementar un ayudante en MVC, sabía que servía para delegar funciones que no debería hacer la vista; como llenar campos, actualizar tablas, entre otrs cosas. Les agradezco de antemano su ayuda.
entre Desarrolladores
Recibe ayuda de expertos
Registrate y pregunta
Es gratis y fácil
Recibe respuestas
Respuestas, votos y comentarios
Vota y selecciona respuestas
Recibe puntos, vota y da la solución
Pregunta
1 Respuesta
Hola Pegnacorp,
los helpers son conceptos que introducen algunos frameworks, pero en realidad no son parte de la arquitectura MVC. Según esta arquitectura, todo está en alguna de estas 3 categorías Modelo, Vista o Controlador. Podés escribir código MVC sin usar nunca un helper.
Los helpers que he visto con mecanismos del Controlador que se usan para devolver cosas a la vista, que para respetar el paradigma siempre tienen que se conocimientos indirectos, es decir, la Vista nunca debe depender de cómo funciona el Controlador. Son usados por frameworks para automatizar la asignación de valores para devolver datos, pero esta necesidad depende de detalles de la implementación de la arquitectura.
Por ejemplo, si tu estrategia de validación de formularios es que los valide el Controlador antes de pasarlos al Modelo, y en caso de estar mal, que sea el Contralodar quién los devuelva, un helper de ese formulario podría ser de utilidad, pero no es imprescindible.
Si en cambio tu estrategia es que el Controladore reciba los datos del formulario y se los envíe directaemtne al Modelo, para que este lo valide según las reglas de negocio, el Modelo será el que cambiará su estado (diciendo "se hizo el alta" o "faltan datos para crear a eso Objeto" y la Vista leerá el Modelo para obtener su estado. En este caso un helper ni siquiera tiene sentido.
En resumen, los helpers son útiles si estás en la primer situación y si además pueden generalizarse de manera tal que "funcionen solos" o que ya estén soportados por el framework que vayas a usar, porque si vas a crear un helper para cada vista, harás un enorme esfuerzo para no ganar nada.
Espero haberte orientado un poco!
PD: en el ejemplo hablo de un Objeto, pero el MVC se puede implementar perfectamente en otros paradigmas de programación.
Por favor, accede o regístrate para añadir un comentario.
Por favor, accede o regístrate para responder a esta pregunta.
En el blog
-
- 406150
- 1
- Jul 5, 2015
Preguntas sin respuesta
-
- 25
- 0
- May 14
-
- 42
- 0
- Abr 21
-
- 84
- 0
- Mar 31
-
- 87
- 0
- Mar 27
-
- 512
- 0
- Feb 18
-
- 224
- 0
- Nov 23, 2022
-
- 162
- 0
- Nov 17, 2022
-
- 154
- 0
- Nov 4, 2022
- ver todas las preguntas
Preguntas relacionadas
- ¿Como se implementa MVC en python? Algún ejemplo porfavor
- Arquitectura de un Sistema de Etiquetado en una Página web
- [PHP] ¿Cuál es la mejor forma de crear un Router MVC?
- Mostrar información en la vista con el Modelo MVC PHP
- Como mostrarle al usuario solo lo que este registre en el sistema en mvc .net
Actividad Reciente
-
FBszd32 compartió en su muro hace 8 minutos
Anti Air Pollution Fac -
FBszd32 compartió en su muro hace 8 minutos
NH00 FUSE suppliers Ou -
FBszd32 compartió en su muro hace 8 minutos
Galvanized Steel C Cha -
FBszd32 compartió en su muro hace 8 minutos
Digital Mixer 32 Chann -
FBszd32 compartió en su muro hace 8 minutos
danielaGM preguntó May 14
Generar reporte con PhpWord con un CRUDrach preguntó Abr 21
Cruzar excel por id con pythonelporfirio respondió Feb 22
Construir URL para actualizar contraseña después d…seniorit respondió Ene 18
¿Como poner privilegio o niveles a los usuarios en…
Ultimas Preguntas
Preguntas relacionadas
- ¿Como se implementa MVC en python? Algún ejemplo porfavor
- Arquitectura de un Sistema de Etiquetado en una Página web
- [PHP] ¿Cuál es la mejor forma de crear un Router MVC?
- Mostrar información en la vista con el Modelo MVC PHP
- Como mostrarle al usuario solo lo que este registre en el sistema en mvc .net
Usuarios Top
- Leonardo-Tadei
- 227320 Puntos
- Peter
- 150420 Puntos
- white
- 75880 Puntos
- carlossevi
- 63580 Puntos
- magarzon
- 30650 Puntos
- pregunton
- 20400 Puntos