>Java >java지도 시간 >Java 디자인 패턴: 브리지 패턴 추상화 및 구현 분리에 대한 이해

Java 디자인 패턴: 브리지 패턴 추상화 및 구현 분리에 대한 이해

php是最好的语言
php是最好的语言원래의
2018-08-01 14:35:112526검색

브리지 모드: 추상 부분과 구현 부분을 분리하여 추상화와 구현이 분리되어 독립적으로 변경될 수 있도록 합니다.

브릿지(인터페이스)를 통해 추상 부분과 구현 부분을 분리합니다. 브릿지는 인터페이스이며 구현자는 인터페이스에서 메서드를 호출합니다. 구현 사각형을 가리키는 추상 클래스입니다. 이와 같이 구현측에서는 브리지 인터페이스를 구현하여 일방적인 확장을 수행하고, 추상측에서는 추상 클래스를 상속하여 일방적인 확장을 수행합니다. 둘 다 브리지 인터페이스를 통해 호출되며 인터페이스는 양측의 확장에 영향을 받지 않습니다.

UML 클래스 다이어그램:

Java 디자인 패턴: 브리지 패턴 추상화 및 구현 분리에 대한 이해

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: 브리지 패턴

#🎜 🎜#관련 영상:

JavaScript 디자인 패턴 전체 영상 튜토리얼

위 내용은 Java 디자인 패턴: 브리지 패턴 추상화 및 구현 분리에 대한 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.