브리지 모드: 추상 부분과 구현 부분을 분리하여 추상화와 구현이 분리되어 독립적으로 변경될 수 있도록 합니다.
브릿지(인터페이스)를 통해 추상 부분과 구현 부분을 분리합니다. 브릿지는 인터페이스이며 구현자는 인터페이스에서 메서드를 호출합니다. 구현 사각형을 가리키는 추상 클래스입니다. 이와 같이 구현측에서는 브리지 인터페이스를 구현하여 일방적인 확장을 수행하고, 추상측에서는 추상 클래스를 상속하여 일방적인 확장을 수행합니다. 둘 다 브리지 인터페이스를 통해 호출되며 인터페이스는 양측의 확장에 영향을 받지 않습니다.
UML 클래스 다이어그램:
interface Driver { public void connect(); } class MysqlDriver implements Driver { @Override public void connect() { System.out.println("连接Mysql数据库"); } } class OracleDriver implements Driver { @Override public void connect() { System.out.println("连接Oracle数据库"); } } //抽象类 abstract class Bridge { private Driver driver; public void connect() { driver.connect(); } public void setDriver(Driver driverTemp) { this.driver = driverTemp; } public Driver getDriver() { return this.driver; } } //实现类 class MyBridge extends Bridge { } //测试类 public class BridgeTest { public static void main(String[] args) { Bridge mysqlBridge = new MyBridge(); Driver mysqlDriver = new MysqlDriver(); mysqlBridge.setDriver(mysqlDriver); mysqlBridge.connect(); OracleDriver oracleDriver = new OracleDriver(); mysqlBridge.setDriver(oracleDriver); mysqlBridge.connect(); } }
브리지 모드는 방향성이 있으며 브리지에 바인딩된 당사자는 호출 수신자입니다. 수동적인 면에 속하고, 추상적인 면은 능동적인 면에 속합니다.
브릿지 모드는 코드의 결합을 줄이고 시스템의 확장성을 향상시키며 세부 사항의 투명성을 달성합니다. 하지만 브리지 모드의 도입으로 인해 시스템을 이해하고 설계하는 것이 더욱 어려워졌습니다.
JavaScript 디자인 패턴 시리즈 6: 브리지 패턴위 내용은 Java 디자인 패턴: 브리지 패턴 추상화 및 구현 분리에 대한 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!