Regla de oro MVC: controladores delgados, modelos gordos!

Ultimamente he estado haciendo muy pocos avances en mi proyecto sin embargo he estado haciendo algunos ajustes y refactorizaciones a mi código para dejarlo mejor, y fue cuando puse en practica la regla “Thin Controllers Fat Models” y fue cuando decidí todavia hacer los modelos mas delgados usando helpers (ruby on rails), así pues empece a delegar responsabilidades y separar lo que semanticamente debería realizar el modelo y lo que puede ser realizado por un ayudante (helper).

Lo primero fue separar los métodos para encriptar el password y autenticar el usuario, pues aunque son parte del usuario, pueden ser realizadas por un ayudante, recuerden que el objetivo es DRY (Don’t Repeat Yourself).

Al delegar la responsabilidad de encriptar el password y realizar la auntenticación a un ayudante, el modelo (User.rb) queda lo suficientemente delgado, en el helper también se pueden poner las validaciones sobre el modelo.

Existe una nueva forma de hacerlo usando los concerns, basicamente es usar modulos donde se pueda encapsular lógica compartida por varios modelos, en un proximo post explicaré como se pueden implementar los concerns, por ahora les dejo un excelente articulo de 37signals donde explican como usarlos.

Hasta pronto!

Leave a Reply

Your email address will not be published. Required fields are marked *