Modo de adaptador TypeScript

 

// El modo adaptador define una interfaz que el cliente espera, de modo que dos clases que no coinciden con la interfaz original pueden trabajar juntas

interfaz AA {

    doA: () => cadena;

}

interfaz BB {

    doB: () => cadena;

}

interfaz CC {

    doC: () => cadena;

}

 

clase aaa implementa AA {

    oraciónA (): cadena {

        devuelve "AA";

    }

}

 

clase bbb implementa BB {

    doB (): cadena {

        devuelve "BB";

    }

}

// Componentes específicos

clase cccc implementa CC {

    doC (): cadena {

        devolver "CC";

    }

}

class shiyongzhe {

    aa privado: AA = nulo;

    bb privado: BB = nulo;

    cc privado: CC = nulo;

    privado a: cadena = nulo;

    privado b: cadena = nulo;

    privado c: cadena = nulo; 

    constructor (aa: AA, bb: BB, cc: CC) {

        this.aa = aa;

        this.bb = bb;

        this.cc = cc;

        this.a = this.aa.doA ();

        this.b = this.bb.doB ();

        this.c = this.cc.doC ();

    }

    getInfo1 (): string {

        devuelva esto. a;

    }

    getInfo2 (): cadena {

        devuelva esto. b;

    }

}

deje aa = nuevo aaa ();

sea ​​bb = new bbb ();

deje ccc = nuevo cccc ();

deje cobj: shiyongzhe = nuevo shiyongzhe (aa, bb, ccc);

YBLog.log ("Prueba", cobj.getInfo1 ());

 

// Ventajas: Las clases no relacionadas se pueden mezclar una vez, siempre que se adapten a este rol. Aumente la transparencia de la clase, mejore la reutilización y la flexibilidad de la clase.

// Desventajas: La solución es el problema del proyecto en servicio.

Supongo que te gusta

Origin blog.csdn.net/ting100/article/details/108739879
Recomendado
Clasificación