브리지 패턴을 사용하면 추상화가 IS-A 관계 대신 구현과 Has-A 관계를 유지합니다. Has-A 관계는 추상화가 구현에 대한 참조를 유지하고 클라이언트 요청을 전달하는 컴포지션을 통해 달성됩니다. 브리지 패턴의 작동 방식을 이해하려면 클라이언트가 텍스트 또는 전자 메일 메시지와 같은 다양한 유형의 메시지를 보내는 데 사용할 수 있는 메시징 응용 프로그램을 고려합니다. 가장 직관적인 방법은 먼저 인터페이스 또는 추상 기본 클래스인 Message를 만드는 것입니다. 다음으로 파생 클래스인 TextMessage 및 EmailMessage를 만듭니다. 마지막으로 메시지를 보내려면 TextMessageSender와 EmailMessage를 확장하는 EmailMessageSender라는 두 개의 메시지 발신자 클래스를 만듭니다. 상속 계층 구조의 모양입니다. 우리의 디자인은 또한 깨지기 쉽습니다. 예를 들어 클라이언트가 보내기 전에 선택적으로 메시지를 암호화할 수 있도록 구현을 변경하는 경우 추상화 부분을 업데이트하여 클라이언트가 암호화 기능을 사용할 수 있도록 해야 합니다. 브리지는 각 차원에 대해 별도의 클래스 계층 구조를 추출하는 것을 제안합니다. 원래 클래스는 모든 작업을 자체적으로 수행하는 대신 해당 계층에 속한 개체에 관련 작업을 위임합니다. 우리는 교량 구현자 및 콘크리트 클래스 레드 서클, DrawAPI 인터페이스를 구현하는 그린 서클 역할을하는 DrawAPI 인터페이스가 있습니다.

셰이프는 추상 클래스이며 DrawAPI의 개체를 사용합니다. BridgePatternDemo, 데모 클래스는 모양 클래스를 사용하여 다른 색상의 원을 그립니다. 고정 구현이 하나뿐인 경우 이 패턴을 C++ 세계에서 여드름 관용구라고 합니다. 당신은 정말 디자인 패턴을 이해합니까 – 당신은 알고있다, 네 책의 그 오래된 갱에있는 사람? 이제 특정 스티어링 시스템에 결합되지 않은 각 차량 유형에 대해 서로 다른 스티어링 휠을 만들 수 있습니다. 이 패턴은 스티어링 휠의 추상화가 액슬을 돌리거나 날개 덮개를 올리거나 내리는 것과 같은 특정 스티어링 시스템의 구현과 분리되도록 합니다. 아주 좋은 설명. Apt 및 실제 예제는 따라하기 쉽습니다. 아니 북적인 자료, 최고 클래스. Bridge 디자인 패턴은 기하급수적으로 폭발적인 상속 계층 구조를 플랫폼 독립적 추상화용및 플랫폼 종속 구현을 위한 두 개의 직교 계층 구조로 리팩터링할 것을 제안합니다.