"Head First Design Patterns" notas de estudio - modo de adaptador

Ahora llegó el modo de adaptador, el nombre del adaptador sugiere, es hacer que el código existente con el fin de desempeñar el papel de un personaje a través del adaptador. Echamos un vistazo a través del código.

caso

Patos y pavos, se llaman los animales va a volar, vamos a construir una interfaz de patos y pavos de interfaces, y sus implementaciones crean dos clases respectivamente.

public interface Duck {
    void quack();
    void fly();
}

public class MallardDuck implements Duck {
    @Override
    public void quack() {
        System.out.println("quack");
    }

    @Override
    public void fly() {
        System.out.println("fly");
    }
}

public interface Turkey {
    void gobble();
    void fly();
}

public class TurkeyAdapter implements Duck {
    Turkey turkey;

    public TurkeyAdapter(Turkey turkey) {
        this.turkey = turkey;
    }

    @Override
    public void quack() {
        turkey.gobble();
    }

    @Override
    public void fly() {
        for (int i = 0; i < 5; i++) {
            turkey.fly();
        }
    }
}

El siguiente es el más destacado, es nuestro adaptador, queremos hacer acto de pavo como un pato, entonces tenemos que hacer esta clase implementa la interfaz de dos patos métodos, pavos actúan como nuestro objetivo de hacer que el pato, por lo que necesitamos para pasar un incendio pollo, pato lo envuelve. Así que tenemos un pavo como las propiedades del adaptador. A continuación, la estructura de esta clase es muy clara, un pavo propiedad, interfaces de pato implementar dos métodos.

public class TurkeyAdapter implements Duck {
    Turkey turkey;

    public TurkeyAdapter(Turkey turkey) {
        this.turkey = turkey;
    }

    @Override
    public void quack() {
        turkey.gobble();
    }

    @Override
    public void fly() {
        for (int i = 0; i < 5; i++) {
            turkey.fly();
        }
    }
}

En charlatán (), el método de llamada turkey.gobble () se llama turkey.fly () método de mosca (), debido a que el pavo vuela cerca, así que recorrimos la marcha de cinco pato distancia de vuelo.

Los clientes que utilizan el adaptador es el siguiente:

  • Los clientes a través del método de interfaz de destino llama el adaptador inicia una solicitud de un adaptador.
  • Adaptador adaptador de interfaz está adaptado para convertir la solicitud en la interfaz de llamada de una o más personas.
  • El cliente recibe los resultados de la llamada, pero no es consciente de todo esto está en el acto adaptador como traductores.

Ahora vamos a ver la definición del patrón del adaptador:

La interfaz de modo de adaptador de una clase, se convierte en otra interfaz con las expectativas del cliente. Adaptador de modo que la interfaz original no es compatible con la clase puede colaborar sin problemas.

Este modelo se puede crear a través del adaptador convertidor de interfaz, por lo que las interfaces incompatibles sean compatibles. Esto permite a los clientes a desacoplarse de la implementación de la interfaz.

Publicado 26 artículos originales · ganado elogios 2 · Vistas 2326

Supongo que te gusta

Origin blog.csdn.net/qq_42909545/article/details/104971524
Recomendado
Clasificación