Encontré estas páginas que explican muy bien los principios de programación orientada a objetos que se necesitan para programar correctamente. Open Close Principle Dependency Inversion Principle Interface Sergregation Principle Single Responsibility Principle Liskov's Substitution Principle Patrones de Diseño de Programas Por último, el diseño de un motor de juego de futbol utilizando Software Design Pattern. Football Engine