자바 디자인 모드 의 브리지 모드(Bridge)

개술
브리지 모델 의 구조 형 모델 은 주로 실제 수요 로 인해 특정한 유형 은 두 개 이상 의 차원 변 화 를 가지 고 계승 만 으로 는 이런 수 요 를 실현 하지 못 하거나 디자인 을 상당히 비대 하 게 만 드 는 것 이다.
브리지 모델 의 방법 은 변화 하 는 부분 을 추상 화하 여 변화 부분 과 주 류 를 분리 시 켜 여러 차원 의 변 화 를 철저히 분리 하 는 것 이다.마지막 으로 하나의 관리 류 를 제공 하여 서로 다른 차원 의 변 화 를 조합 하고 이런 조합 을 통 해 업무 의 수 요 를 만족시킨다.
UML 구성 도

코드 예제

package interview;

interface Implementor{

  void operationImpl();
}

abstract class Abstraction{
  protected Implementor implementor;

  public Abstraction(Implementor implementor){
    this.implementor = implementor;
  }

  public void operation(){
    implementor.operationImpl();
  }
}

class ConcreteImplementorA implements Implementor {
  @Override
  public void operationImpl() {
    System.out.println("    A");
  }  
}

class ConcreteImplementorB implements Implementor {
  @Override
  public void operationImpl() {
    System.out.println("    B");
  }  
}

class RefinedAbstraction extends Abstraction{

  public RefinedAbstraction(Implementor implementor) {
    super(implementor);
  }

  public void otherOperation(){
    System.out.println("    ");
  }
}

public class MainTest {

  public static void main(String arg[]) {
    Implementor implementor = new ConcreteImplementorA();
    RefinedAbstraction abstraction = new RefinedAbstraction(implementor);
    abstraction.operation();
    abstraction.otherOperation();
  }
}

필드 사용
1.추상 적 이 고 실현 적 인 부분 에서 고정된 연결 관 계 를 사용 하지 않 으 려 면 브리지 모델 로 추상 적 이 고 실현 적 인 부분 을 분리 한 다음 에 프로그램 이 실행 되 는 동안 동태 적 으로 추상 적 인 부분 을 설정 하 는 데 필요 한 구체 적 인 실현 도 동태 적 으로 전환 할 수 있다.
2.추상 적 인 부분 과 실현 부분 이 모두 확장 할 수 있어 야 하 는 상황 이 발생 하면 브리지 모델 을 사용 하여 추상 적 인 부분 과 실현 부분 이 독립 적 으로 변화 할 수 있 도록 유연 하 게 단독 확장 을 할 수 있다.한데 얽 히 지 않 고 확장 하면 다른 쪽 에 영향 을 줄 수 있다.
3.만약 에 부분의 수정 을 실현 하고 자 한다 면 고객 에 게 영향 을 주지 않 고 브리지 모델 을 사용 할 수 있다.고객 은 추상 적 인 인 인 터 페 이 스 를 대상 으로 운행 하고 부분의 수정 을 실현 하 며 추상 적 인 부분 에 독립 할 수도 있 고 고객 에 게 영향 을 주지 않 을 수도 있 으 며 고객 에 게 투명 하 다 고 할 수 있다.
4.계승 실현 방안 을 사용 하면 여러 가지 하위 유형 이 발생 할 수 있다.이런 상황 에 대해 브리지 모델 을 사용 하여 기능 변화의 원인 을 분석 하고 서로 다른 차원 으로 분 리 될 수 있 는 지 확인 한 다음 에 브리지 모델 을 통 해 그들 을 분리 시 켜 하위 유형의 수 를 줄 일 수 있다.
만약 에 한 시스템 이 구축 한 추상 화 된 역할 과 구체 화 된 역할 사이 에 더 많은 유연성 을 증가 하고 두 차원 사이 에 정태 적 인 관 계 를 구축 하지 않도록 해 야 한다.
추상 화 된 캐릭터 와 구체 화 된 캐릭터 는 모두 이불 류 로 확장 할 수 있어 야 한다.이런 상황 에서 브리지 모델 은 서로 다른 추상 화 된 역할 과 구체 화 된 역할 을 유연 하 게 조합 하고 독립 적 으로 확대 할 수 있다.
디자인 요구 실현 화 캐릭터 의 어떠한 변화 도 클 라 이언 트 에 영향 을 주어 서 는 안 되 거나 실현 화 캐릭터 의 변 화 는 클 라 이언 트 에 게 완전히 투명 하 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기