logo más calidad.png

¡Oh no! Los pingüicornios están bastante acoplados,
¿Puedes ayudarles?

«La clase ShipmentNormalizer conoce detalles demasiado internos de la clase Shipment.

 

¡Tenemos un caso de Content coupling!

 

¿Cómo podemos desacoplarnos?»

decoupled_1-removebg-preview.png
3.png

«Mantened la calma pingüicornios. Estas cosas suelen pasar. Lo importante es no mirar hacia otro lado ¡Mirad al acoplamiento a los ojos!

Lo primero es crear una clase en la que delegaremos la normalización de Address»

1 pingüino.png
refactor 1.png

«Ya, pero asi no funcionamos. Esto no nos sirve.»

decoupled_1-removebg-preview.png

«Tened paciancia. Aún no he terminado: después inyectamos AddressNormalizer en ShipmentNormalizer y delegamos la normalización de shipment.address.

 

Ahora ya podéis funcionar sin estar acoplados.»

1 pingüino.png
refactor2.png

¡Diseño mejorado!

  • El código es más testeable

  • Respetamos el principio Tell, don't ask

  • Hemos mejorado la cohesión de ShipmentNormalizer ya que ahora no conoce la lógica de cómo se normaliza un Address

3 pingüinos.png

¿Quieres acelerar el delivery de tu equipo?

Descubre cómo podemos llevar la excelencia técnica a tus equipos.

Acompañamos, hands-on, a tu equipo para que consigan un alto impacto en negocio

En Code Sherpas acompañamos a los equipos de desarrollo a generar impacto en negocio, entregar productos de calidad gracias a las prácticas de Extreme Programming como TDD, Clean Code y Clean Architecture, y escalar equipos de forma eficaz.

metodología (1).png

Si eres Founder, CTO, Tech lead y  saber cómo podemos mejorar las prácticas de tus equipos, contacta con nosotros.

logo más calidad.png