lunes, 25 de octubre de 2010
Los helpers son un mecanismo muy habitual para evitar el efecto “tag soup”, es decir, la mezcla de etiquetas HTML y bloques de código de servidor, en el interior de una vista. Sin dudarlo, cuando la legibilidad del código de la vista peligre o rompamos el principio DRY, estas pequeñas (y a veces no tan pequeñas) funciones nos permitirán aislar la lógica de presentación y simplificar las vistas.
Observad, por ejemplo, el siguiente código, en el que existe una lógica duplicada, y un gran número de aperturas y cierres de bloques que dificultan su lectura, y facilitan la introducción de errores:
Esto podría simplificarse un poco creando un helper como el siguiente:
De esta forma, la vista quedaría como sigue; hemos ganado bastante en legibilidad y simplicidad de la misma respecto a la primera versión:
Sin embargo, cuando andamos embarcados en un proyecto relativamente extenso, enseguida notaremos que los helpers empiezan a multiplicarse. En casi cualquier vista medianamente compleja utilizaremos uno o más helpers, a veces difícilmente reutilizables entre ellas, y esto hace que al final tengamos que mantener una amplia colección de métodos extensores que en la práctica sólo utilizamos una vez.
En estos escenarios es donde suelo utilizar helpers locales, funciones incluidas en el mismo archivo .aspx, en el interior del tag
De esta forma podemos beneficiarnos de las siguientes ventajas:
Publicado en: Variable not found.
Observad, por ejemplo, el siguiente código, en el que existe una lógica duplicada, y un gran número de aperturas y cierres de bloques que dificultan su lectura, y facilitan la introducción de errores:
Esto podría simplificarse un poco creando un helper como el siguiente:
De esta forma, la vista quedaría como sigue; hemos ganado bastante en legibilidad y simplicidad de la misma respecto a la primera versión:
Sin embargo, cuando andamos embarcados en un proyecto relativamente extenso, enseguida notaremos que los helpers empiezan a multiplicarse. En casi cualquier vista medianamente compleja utilizaremos uno o más helpers, a veces difícilmente reutilizables entre ellas, y esto hace que al final tengamos que mantener una amplia colección de métodos extensores que en la práctica sólo utilizamos una vez.
En estos escenarios es donde suelo utilizar helpers locales, funciones incluidas en el mismo archivo .aspx, en el interior del tag
<script runat="server">
, como en los viejos tiempos:De esta forma podemos beneficiarnos de las siguientes ventajas:
- La lógica de presentación se introduce junto a la propia presentación, es decir, en el mismo archivo de código desde la cual se utiliza, lo que simplifica su localización y mantenimiento posterior.
- Al tratarse de código incluido en una vista, se pueden realizar cambios directamente sobre ella, sin necesidad de recompilar el proyecto.
- De la misma forma, el hecho de encontrarse en ella hace que podamos acceder de forma directa a los parámetros enviados desde el controlador, utilizando la propiedad Model de la vista.
- No perdemos las ventajas de intellisense u otras ayudas del editor.
Publicado en: Variable not found.
3 Comentarios:
hola hose.
solo una pregunta, que ocurre con los que ya estan usando o pensamos usar razor para las vistas? ¿perdemos esta posibilidad?
gracias y felicidades por el blog.
Hola!
Te respondo en un post, ok?
Saludos & gracias por comentar.
Hola... voy a intentarlo y te cuento com me fue... Gracias por el aporte
Enviar un nuevo comentario