Pessoal, eu li alguns tutoriais sobre o metodo bridge que preciso implementar para a facudade (Sem ter a explicacao do professor), mas eu não entendi, tem como alguem me explicar bem calmamente, pq sou novato em java e principalmente em padroes de projeto.
Veja isso:
http://www.java2s.com/Code/Java/Design-Pattern/BridgePattern1.htm
Basicamente
[code] //Create an appropriate implementer object
MessageLogger logger = new FileLogger();
//Choose required interface object and
// configure it with the implementer object
Message msg = new EncryptedMessage(logger);
msg.log("Test Message");[/code]
Nesse exemplo Message é uma interface. EncryptedMessage é uma ponte (bridge) para o logger setado através do construtor.
Nesse exemplo, EncryptedMessage apenas encripta a mensagem, esse objeto não sabe como fazer o “log” da mesma, para isso precisa do MessageLogger. Se vc não quer escrever em um arquivo e sim no banco de dados, por exemplo, bastaria criar outro logger que a bridge funcionaria do mesmo jeito.
Nesse caso a implementação é inserida na bridge através do construtor mas vc pode usar um setter, como aqui:
http://www.java2s.com/Code/Java/Design-Pattern/BridgePatterninJava3.htm
Mas basicamente é isso,
Amigo, eu estava estudando os seus links, e utilizei o bluej para visualizar a uml deles, bem, me bateu umas dúvidas.
No caso da bridge, a ponte sempre é entre interfaces, ou pode ocorrer com classes também, pois eu tenho um trabalho de aula sobre ele, e o trabalho é o seguinte.
Recebemos um jogo que um rapaz fez semestre passado, e bem, tenho que inserir o bridge nesse código formado.
Poderíamos fazer o seguinte, e tento fazer daqui e jogo minhas dúvidas. assim sei la, vc me dava uma força, se não for pedir demais, não quero que faça para mim, só quero orientação.
Outro exemplo de ponte é o que acontece com o JDBC.
Exemplo tirado da apostila fj21 da Caelum:
Daí você tem os drivers JDBC de cada banco, que implementam a interface JDBC e os protocolos do banco.