Padrões onde originalmente documentados para Arquitetura. Na arquitetura, aplique a coisas que vão desde a colocação da porta em uma sala até o layout de uma vila.
O Gangue dos Quatro aplicou a idéia à Programação Orientada a Objetos. Pode haver mais de um padrão que pode ser usado para resolver um problema, mas cada padrão terá uma implementação específica. Existem padrões em outras abordagens de programação, mas não conheço nenhum livro aplicável. Como outros mencionaram, os padrões cobrem implementações específicas. Usar um padrão quando ele não se aplica é geralmente considerado um antipadrão.
Os princípios não cobrem a implementação, embora possa haver abordagens de implementação padrão. Os princípios são mais sobre a cobertura de questões gerais, em vez de problemas específicos. Para Inversão do Controle, conheço pelo menos três abordagens de implementação. Para DRY (não se repita), eu não conheço uma única abordagem de implementação específica, embora eu use várias.
Considerar
- Você foi solicitado a usar um padrão como o Abstract Factory Pattern como a única abordagem para desenvolver um programa. Isso seria apropriado? Não, é mais provável que seja um padrão.
- Você foi solicitado a aplicar DRY a todos os componentes? Isso seria apropriado? Sim, é mais provável que seja um Princípio.