이를 위해, 우리는 작업 () 방법으로 제조 작업을 수행하기 위해 차량의 유형과 콘크리트 워크샵 (구현자) 사이의 다리 역할을 할 인터페이스 WorkShop을 만들었습니다. 그래서 저는 모든 정보를 살펴보고 디자인 패턴을 모두 깊이 이해할 때까지 계속해서 제 자신의 사례를 생각해 내겠다고 결심했습니다. 이 과정은 길고 다소 지루했지만, 작업이 끝나면 마침내 디자인 패턴을 이해했다고 자신있게 말할 수 있었습니다. 그것은 빌더가 아닌 다리 패턴이어야합니다. 이제 패턴을 높은 수준에서 이해하므로 배운 내용을 소프트웨어 개발 도메인에 적용해 보겠습니다. 디자인 패턴에 대한 훌륭한 기사에 대한 감사 Pankaj,하지만 당신은이 « 브리지 패턴 »페이지의 첫 번째 줄을 수정 할 수 있습니다 : 구현 : 먼저, 우리는 구현 개체로 시작합니다. 우리는 같은 운동의 다른 유형을 가지고이동 논리에서 상속, 산책과 수영. 이러한 각 클래스에는 animal에서 구현을 « 숨기기 »하는 특정 move() 함수에 필요한 논리가 포함되어 있습니다. 이것은 아마도 이전 블로그 (외관 패턴)의 다른 디자인 패턴에 익숙한 소리. 둘 사이의 주요 차이점은 의도입니다. 하나는 쉽게 MoveLogic뿐만 아니라 동물 클래스가 포함하고 이동 작업의 복잡성을 유지하지 않도록 외관이 될 수 있다고 말할 수 있습니다.

제발, 변경 빌더 기사의 첫 번째 줄에 다리 브리지 브리지 브리지 브리지 브리지 패턴은 « 두 독립적으로 다를 수 있도록 구현에서 추상화를 분리 »하는 것을 의미하는 소프트웨어 엔지니어링에 사용되는 디자인 패턴입니다, 의 갱에 의해 도입 4. [1] 브리지는 캡슐화, 집계를 사용하며 상속을 사용하여 책임을 다른 클래스로 구분할 수 있습니다. 추상화를 사용하여 클라이언트 코드를 구현에서 분리하며 일반적인 방법은 상속을 사용하는 것입니다. 인터페이스 또는 추상 클래스를 정의 하 고 상속 계층 구조를 만듭니다., 여러 가능한 구현의 각각에 대 한 하나. 처음에는 이 접근 방식이 논리적으로 나타나고 잘못된 것이 없지만 상속을 통한 추상화가 항상 유연하지는 않습니다. 상속을 사용할 때 구현을 추상화에 영구적으로 바인딩합니다. 결과적으로 한 변경 사항이 다른 변경에 영향을 줍니다. 보다 유연한 방법은 추상화와 구현을 분리하는 것이며 브리지 패턴이 들어오는 곳입니다.

동일한 추상 클래스 메서드를 사용 하지만 다른 브리지 구현자 클래스를 사용 하 여 다른 색상으로 원을 그릴 수 있는 다음 예제를 통해 브리지 패턴의 사용을 시연 하 고 있습니다. 브리지 패턴은 « 상속보다 구성을 선호 »이전 조언의 응용 프로그램입니다. 서로 직교하는 방식으로 다른 시간을 하위 클래스해야 할 때 편리합니다. 도표에 도시된 바와 같이, 클래스 Animal은 세 동물이 그로부터 상속되도록 추상화(또는 인터페이스)이다. 각 동물은 개별적으로 이동하는 방법에 대한 자신의 특정 논리를 구현합니다(). 따라서 자체 이동 메서드를 선언 합니다. 그러나, 우리는 아직 꽤 거기. 브리지 패턴은 단순한 상속에 관한 것이 아닙니다. 패턴의 의도는 move()논리를 추상화와 분리하는 것입니다. 이 예제에서는 Animal 클래스 내의 코드는 animal 개체 표현을 정의하는 것에 대해서만 해야 합니다.

이 접근 방식에 따라 색상 관련 코드를 빨간색과 파란색이라는 두 개의 하위 클래스를 통해 자체 클래스로 추출할 수 있습니다. 그런 다음 Shape 클래스는 색상 개체 중 하나를 가리키는 참조 필드를 가져옵니다. 이제 셰이프에서 연결된 색상 오브젝트에 색상 관련 작업을 위임할 수 있습니다. 이 참조는 모양 과 색상 클래스 사이의 다리 역할을 합니다. 이제부터는 새 색상을 추가하면 셰이프 계층 구조를 변경할 필요가 없으며 그 반대의 경우도 마찬가지입니다.