#4694 como mas a bajo nivel programas mas patrones y buenas practicas necesitas porque la eficiencia y el rendimiento es critico. yo diria que el 99.999% de los programadores no sabe ni nunca sabra la mitad de los patrones que he puesto jaja
a alto nivel, se suelen usar hoy en dia mas patrones de diseño funcionales, ya que java después de java 1.8 tiene lambdas y default methods... no se hace casi OOP con clases abstractas porque desde java 1.8, hace ya 10 años las clases abstractas estan completamente deprecated. yo le veo a alguien ponerme una abstract class para resolverme algo y les pongo que esta deprecated jajaja solo para reirme.
Tradicionales iteradores y builders quizas lo que mas se ve, porque la gente ve un builder y sabe lo que es y le gusta instanciar cosas con ese patron... pero vamos, gustos. Si ves algun patron de esos lo veras en un framework complejo como spring... pero vamos, sera codigo de hace 20 años. Quizas un compañero un dia se hace un visitor o una mierda asi xq le hace gracia, pero hace 0 falta y seguramente no tiene ni puta idea o se aburre mucho.
Y en alto nivel quizas miraria patrones de concurrencia y paralelismo con mutex, threads, channels, actors... fan in, fan out, actores vs channels, broadcast... y cosas con mutex y atomics muy básicos...
Si es para clase no me preocuparía mucho por la OOP, te los aprendes todos y los haces jaja Si te hace gracia busca como hacerlo en java funcional, para saber la alternativa... pero ya te digo q en java post 1.8 no hacen falta...\
https://refactoring.guru/design-patterns/catalog