Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida Bridge

Achei um pouco estranho a explicação sobre a Bridge, pois tinha como idéia que normalmente existem algumas implementações e cada implementação usa diferentes outras implementações que também variam de forma independente. E esse padrão servia para desacoplar uma da outra.

Ex:

package br.com.schimidtsolutions.estudo.bridge;

public interface Telefone {

    public void ligar();

    public void enviarSms();
}

package br.com.schimidtsolutions.estudo.bridge;

public class IPhone implements Telefone {
    private final Operadora operadora;

    public IPhone(final Operadora operadora) {
        this.operadora = operadora;
    }

    @Override
    public void ligar() {
        // Outras Logicas do telefone
        operadora.fazerLigacao();
    }

    @Override
    public void enviarSms() {
        // Outras Logicas do telefone
        operadora.enviarSms();
    }
}

package br.com.schimidtsolutions.estudo.bridge;

public class SansungGalaxy implements Telefone {
    private final Operadora operadora;

    public SansungGalaxy(final Operadora operadora) {
        this.operadora = operadora;
    }

    @Override
    public void ligar() {
        // Outras Logicas do telefone
        operadora.fazerLigacao();
    }

    @Override
    public void enviarSms() {
        // Outras Logicas do telefone
        operadora.enviarSms();
    }
}

package br.com.schimidtsolutions.estudo.bridge;

public interface Operadora {

    public void fazerLigacao();

    public void enviarSms();
}

package br.com.schimidtsolutions.estudo.bridge;

public class Claro implements Operadora {

    @Override
    public void fazerLigacao() {
        System.out.println("Claro ligando...");
    }

    @Override
    public void enviarSms() {
        System.out.println("Claro enviando SMS...");
    }
}

package br.com.schimidtsolutions.estudo.bridge;

public class Vivo implements Operadora {

    @Override
    public void fazerLigacao() {
        System.out.println("Vivo ligando...");
    }

    @Override
    public void enviarSms() {
        System.out.println("Vivo enviando SMS...");
    }
}
1 resposta
solução!

O brigde é um padrão que serve para você normalizar uma classes de um certo tipo.

No seu exemplo você usou o telefone e disse que sempre que for algo que seja derivado de telefone já tenha dois comportamentos por padrão.