1 min readAug 28, 2019
Hola David!
Para mi una implementación más correcta del caso anterior sería esta:
Como puedes ver he hecho un refactor total de la arquitectura, sacando role interfaces de manera que no pueda conocer más detalles de implementación que los necesarios para realizar mi tarea. Estas clases más pequeñas y especificas encapsulan de forma correcta las colaboraciones entre distintos componentes, y exponen de forma pública únicamente lo estrictamente necesario, de forma que a niveles superiores no requiero conocer a los “amigos de mis amigos”.