Repaso
English

¿Qué patrones de diseño usas realmente en proyectos Java/Spring, y dónde?

Respuesta

  • Singleton: los beans de Spring son singletons por defecto (los gestiona el contenedor).
  • Factory / Abstract Factory: BeanFactory, Calendar.getInstance(), List.of(...).
  • Builder: StringBuilder, builders de Stream, @Builder de Lombok, HttpRequest.newBuilder().
  • Strategy: Comparator, inyectar distintas implementaciones de una interface.
  • Decorator: streams de I/O de Java (BufferedReader), envolver servicios.
  • Proxy: @Transactional, @Cacheable, lazy loading en Hibernate.
  • Observer: eventos (ApplicationEventPublisher), listeners.
  • Template Method: JdbcTemplate, RestTemplate.
  • Chain of Responsibility: filter chains de servlets y de seguridad.
  • Di cuándo NO usar un patrón: no añadas uno sin un problema real (YAGNI).

Términos clave

Practica esta pregunta en Repaso