El mejor tutorial de Modo puente en 2024. En este tutorial podrás aprender introducción,realización,
Bridge (puente) se utiliza para conseguir el desacoplamiento y la abstracción, de modo que los dos pueden variar independientemente. Este tipo de patrones de diseño pertenecen modelo estructural, proporcionando la abstracción estructurada y puente entre los dos para lograr la desvinculación.
Este modelo implica como una interfaz de puente que permite a una entidad independiente del tipo de clase de interfaz de función. Estos dos tipos de clases pueden ser estructurados para cambiar y se afectan entre sí.
Nos mediante los siguientes ejemplos para demostrar el uso modo de puente (puente del patrón). Que se puede utilizar el mismo método pero diferentes clases abstractas puente clase de implementación para dibujar círculos de diferentes colores.
Intención: una abstracción y la aplicación de una parte de la separación, de modo que pueden variar de forma independiente.
Solución principal: En una variedad de circunstancias pueden cambiar, la herencia de clases puede causar una explosión, no es la expansión flexible.
Cuándo utilizar: La implementación de sistema de clasificación puede tener múltiples ángulos, cada ángulo puede cambiar.
Cómo corregir: poner separa esta clasificación multi-ángulo, por lo que son independientes de los cambios, reducir el acoplamiento entre ellos.
El código de la llave: la clase depende de la implementación clase abstracta.
Ejemplos de aplicación: 1, renacidos del cerdo al cerdo Mariscal reencarnación del dosel, la reencarnación del mecanismo de la tierra se divide en dos niveles, a saber: el alma y el cuerpo, la primera corresponde a la abstracción, lo que equivale a la realización.Criaturas por delegación de funciones, objetos físicos llamada a la función, tales criaturas se pueden seleccionar de forma dinámica. 2, interruptor de la pared, se puede ver el interruptor es abstracta, no tubo de hormigón en el interior de la forma de lograr.
Ventajas: 1, resumen y lograr la separación.2, excelente escalabilidad. 3, detalles transparente la aplicación al cliente.
Desventajas: la introducción del modo de puente aumentará la dificultad de comprensión y diseño del sistema, la relación de polimerización construido sobre la capa de abstracción, lo que requiere el desarrollador para el diseño abstracto y programación.
Escenarios de uso: 1, si se requiere un sistema entre la abstracción y miembro de papel concreto de la función para añadir más flexibilidad para evitar la creación de enlace de la herencia estática entre los dos niveles, a través del modo de puente para que la Capa de Abstracción establecer una relación.2, para aquellos que no quieren utilizar el sistema como una herencia de varios niveles o herencia dado lugar a un fuerte aumento en el número de clases del sistema, modo de puente es particularmente aplicable. 3, necesita ser ampliado una clase hay dos dimensiones independientes del cambio, y estas dos dimensiones.
Nota: Para uncambio de dos dimensiones independientes, utilizando el modo de puente fácil de hacer.
Tenemos como puente interfazDrawAPIe implementadoRedCircleDrawAPI clase de entidad deinterfaz,GreenCircle.La formaes una clase abstracta, el objetoDrawAPIuso.BridgePatternDemo,nuestras clases de demostración utilizalaclaseShapepara dibujar círculos de diferentes colores.
Crear un puente que implementa la interfaz.
DrawAPI.java
DrawAPI interfaz pública { drawCircle public void (radio, int x, int y); }
Crear una entidad de implementación del puente aplicaciónDrawAPIde la clase de interfaz.
RedCircle.java
RedCircle clase pública implementa DrawAPI { @ Override drawCircle public void (radio, int x, int y) { System.out.println ( "El dibujo del círculo [color: rojo, radio:" + + Radio ", x:" + x + "," + y + "]"); } }
GreenCircle.java
GreenCircle clase pública implementa DrawAPI { @ Override drawCircle public void (radio, int x, int y) { System.out.println ( "El dibujo del círculo [color: verde, radio:" + + Radio ", x:" + x + "," + y + "]"); } }
DrawAPIusar interfaz para crear unaformaclaseabstracta.
Shape.java
Forma clase abstracta pública { protegida DrawAPI drawAPI; Forma protegida (DrawAPI drawAPI) { this.drawAPI = drawAPI; } public void empate resumen (); }
Crear clase de entidad implementalainterfazShape.
Circle.java
Círculo clase pública se extiende en forma de { private int x, y, radio; Círculo pública (int x, int y, int radio, DrawAPI drawAPI) { super (drawAPI); this.x = x; this.y = y; this.radius = radio; } sorteo public void () { drawAPI.drawCircle (radio, x, y); } }
Uso de la claseShapeyDrawAPIdibujar círculos de diferentes colores.
BridgePatternDemo.java
BridgePatternDemo public class { principales argumentos (String []) {public static void Forma redCircle = new Circle (100.100, 10, nueva RedCircle ()); Forma greenCircle = new Circle (100.100, 10, nueva GreenCircle ()); redCircle.draw (); greenCircle.draw (); } }
Verifique la salida.
Dibujo Círculo [color: rojo, radio: 10, x: 100, 100] Dibujo Círculo [color: verde, radio: 10, x: 100, 100]