Como conhecer diversas soluções sem precisar passar por vários anos alternando entre escolhas certas e erradas?
Como saber o contexto em que essas soluções são adequadas e quais são as contrapartidas dos benefícios da solução?
Felizmente existe uma forma na qual desenvolvedores mais experientes expressam seu conhecimento em um determinado domínio.
E então eu apresento os padrões de projeto, os Design Patterns!