Visão geral
Conversando uma interface em outra interface Os desejos do usuário, o modo adaptador permite classes que não pudessem funcionar juntas devido à incompatibilidade das interfaces.
Dois métodos de implementação
1. Modo adaptador de classe:
2. Modo adaptador de objeto:
O diagrama UML do modo adaptador da classe é o seguinte:
O padrão adaptador da classe converte a API da classe adaptada na API da classe de destino.
Os personagens projetados na figura acima são:
Alvo: esta é a interface que você está procurando.
Função de origem (Adapee): a interface que agora é necessária para se adaptar.
Função do adaptador (adaptador): é o núcleo desse modo e o adaptador converte a interface de origem na interface de destino.
Exemplo de código:
alvo de interface {void method1 (); Void Method2 (); // Espero obter esse método} // A classe de origem não possui o método no método2. classe Adaptee {public void method1 () {System.out.println ("Method1"); }} o adaptador de classe estende o adaptador implementa o destino {@Override public void Method2 () {System.out.println ("Este é o método de destino"); }} public class Mantest {public static void main (string arg []) {Target Target = new Adaptador (); Target.Method2 (); }} O diagrama UML do modo adaptador do objeto é o seguinte:
A idéia principal é a mesma que o modo adaptador da classe. Ele apenas altera a classe adaptadora, não herda a classe Adaptated, mas mantém uma referência à classe Adaptee. O código é o seguinte:
alvo de interface {void method1 (); Void Method2 ();} class Adaptee {public void Method1 () {System.out.println ("Method1"); }} Classe adaptador implementa Target {Adaptado Private Adapte; Adaptador público (adaptado adaptado) {this.adaptee = Adaptee; } @Override public void Method2 () {System.out.println ("Este é o método de destino"); } @Override public void Method1 () {// TODO Método Auto-Gerado Stub Adaptage.Method1 (); }} public class Mantest {public static void main (string arg []) {Target Target = novo adaptador (new AdapTee ()); Target.Method2 (); }} Vantagens e desvantagens do modo adaptador:
Melhor reutilização e melhor escalabilidade. O sistema precisa usar as classes existentes e essas interfaces não atendem às necessidades do sistema; portanto, essas funções podem ser melhor reutilizadas através do modo adaptador. Ao implementar a função adaptadora, você pode chamar as funções que desenvolveu por si mesmo para expandir naturalmente as funções do sistema.
Desvantagens: Muito uso dos adaptadores tornará o sistema muito confuso e difícil de entender em geral.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.