Tipos de padrão de design
- Comportamental: padrões caracterizam as maneiras pelas quais classes ou objetos interagem e distribuem responsabilidades
- Estrutural: padrões lidam com a composição de classes ou objetos.
- Criacional: os padrões estão preocupados com o processo de criação do objeto.
Ponte (estrutural)
Desacople uma abstração de sua implementação para que cada uma possa variar. independentemente.
Pegue um controle remoto. O controle remoto possui botões 1-6. Esta é a classe concreta do diagrama acima. Cada botão funcionará de forma diferente dependendo se o controle remoto é usado para uma TV ou DVD. A funcionalidade de cada botão é abstraída da implementação pela interface do implementador.
Isso nos permite mudar a forma como o controle remoto funcionará para cada dispositivo.
Estratégia (comportamental)
Defina uma família de algoritmos, encapsule cada um e torne-os intercambiáveis.
Na estratégia, se estivéssemos olhando para o cenário remoto. O "estado" é todo o controle remoto que trocamos alterando a referência de estado do contexto. O "concreteStateA" (controle remoto da TV) "concreteStateB" (controle remoto do DVD).
Leitura adicional: