Noodle: GuitabSDK vs. MailSender #403
-
Buenas, quería consultar algo del enunciado de Noodle. Qué son¿Es a propósito que se modele a
Cómo se usansi bien entiendo que para interactuar con sistemas externos debemos adaptarlos, en la solución de Noodle veo que se instancian directamente en los interesados de un Grupo (o sea, las clases que implementan
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
¡Hola!
Correcto. Ambas son interfaces externas, independientemente de si a nivel modelado en objetos son clases o interfaces.
Es cierto, para no volver al texto más extenso no se mencionó la adaptación de interfaces, pero el objetivo es que dichas interfaces sí sean adaptadas (lo acabo de agregar como un comentario en la solución). Por lo tanto tu propuesta de introducir dos adapters para cada uno de estos servicios es correcta. Más allá de eso, como bien vos señalás...
... si no se usaran adapters de todas formas los interesados en el grupo estarían de alguna forma oficiando de adaptación, lo cual sería un paliativo a los problemas de acoplamiento y testeabilidad. Aún así, sugiero que en situaciones como estas uses adapters para mayor seguridad en el parcial. |
Beta Was this translation helpful? Give feedback.
-
Gracias! |
Beta Was this translation helpful? Give feedback.
En líneas generales no existe ninguna diferencia entre que
GuitabSDK
yMailSender
sean interfaces y clases, respectivamente. De hecho, todo lo contrario: está allá justamente para recordarte que poco importa cómo estén implementados los componentes externos y que a fin de cuentas, son sólo eso: piezas de software de las que no deberías asumir su estabilidad y contra las que querés minimizar el acoplamiento.Dicho eso, en el mundo real, sí podríamos encontrar diferencias, tanto desde el punto de vista creacional como desde algún pequeño grado de libertad adicional en el diseño que te ofrecería que
GuitabSDK
sea una interfaz a la hora del testing. Pero todo eso se diluye tanto en un parcial…