DIP – Exemplo melhor
public interface EmailService {
void enviarEmail(String dest, String msg);
}
public class Gmail implements EmailService {
public void enviarEmail(String dest, String msg) { ... }
}
public class ServicoEmail {
private EmailService email;
public ServicoEmail(EmailService email) {
this.email = email;
}
public void enviar(String dest, String msg) {
email.enviarEmail(dest, msg);
}
}
- Depende de interface, não da implementação concreta