Pessoal, estou estudando Design Patterns, e estava indo bem, até encontrar o padrão Bridge. Eu até entendi o porquê dele existir, só não vejo o porquê de usa-lo, logo, concluo que eu não entendi o espírito da coisa. Eu procurei aqui no fórum, mas a maioria dos exemplos é usando como exemplos as classes AWT ou implementações de Drivers JDBC. Sinceramente acho que esses tipos de exemplos pouco ajudam. Sempre tento pegar exemplos o mais próximo possível do mundo real, pois ajuda muito atender (por exemplo, o padrão Adapter, só consegui mesmo entender, quando comecei a pensar em como seria um adaptador de um câmbio automático para um câmbio de cinco marchas). Então, pergunto: alguém aqui tem algum exemplo de padrão Bridge, sem ser JDBC, AWT, ou qualquer outra coisa que não temos no mundo real? Eu até tentei usar como exemplo a implementação de um motor (sempre carros! rs!), pensei no seguinte:
Eu tenho um classe abstrata chamada MOTOR. Eu posso ligar um motor, acelerar e desligar. Ou seja, eu teria:
Motor
ligar()
acelerar()
desligar()
Blz. Aí vamos supor que agora eu tenha que ter dois tipos de motores concretos: um motor elétrico (MotorEletrico) e um motor a explosão (MotorExplosao). Vamos supor que o comportamento de ligar, acelerar e desligar desses motores sejam totalmente diferentes um do outro. Ora, eu consigo resolver isso facilmente com herança. Faço MotorEletrico e MotorExplosao herdar da classe Motor e um abraço! Implemento os métodos de cada motor.
Pergunto: Por que eu iria querer usar o Bridge!?
Quem souber me explicar, pois realmente, eu não tô conseguindo entender a utilidade disso ainda…
Desde já, agradeço!