Bienvenido a la Comunidad de Treehouse
¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.
¿Buscas aprender algo nuevo?
Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de
Inicia tu prueba gratuita
Michael Cook
JavaScript Full Stack Graduado de Techdegree 28,975 PuntosSe necesita aclaración: ¿por qué crear una clase separada con un método estático para mostrar la receta?
No entiendo completamente la explicación de Alena sobre por qué es una buena idea crear una clase separada y crear un método estático en esa clase para mostrar la receta. ¿Podría alguien explicar esto desde un ángulo ligeramente diferente? Gracias.
1 Respuesta
Fabrício Montenegro
18,723 puntosLa idea es que la Recipe clase solo sea responsable de almacenar y gestionar información sobre la receta, pero no de cómo cómo esta información debe formatearse y mostrarse.
Imagina un escenario donde tú y yo tenemos acceso a esta clase, pero queremos usarla de manera diferente en nuestras propias aplicaciones. Yo podría querer mostrar el source de la receta en texto en negrita mientras que tú no quieres usar el source en absoluto y solo imprimir el title como encabezado. Entonces tendrías una Render clase mientras que yo tendría una diferente.
Es posible que incluso quieras mostrar esta información de manera diferente dependiendo de dónde se encuentre el usuario en tu aplicación. Entonces podrías tener muchas clases diferentes de Render clases, cada una responsable de mostrar la información de una manera diferente.
El estilo de la información no debería ser una preocupación de la Recipe clase, este no es su trabajo.
La clase podría tener un display método predeterminado, pero creo que Alena está usando una clase diferente para mostrar la importancia de mantener este aspecto del código en una clase separada. (También es una buena oportunidad para explicar el uso de métodos estáticos :D ).