자바 디자인 모드 의 브리지 모드(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.계승 실현 방안 을 사용 하면 여러 가지 하위 유형 이 발생 할 수 있다.이런 상황 에 대해 브리지 모델 을 사용 하여 기능 변화의 원인 을 분석 하고 서로 다른 차원 으로 분 리 될 수 있 는 지 확인 한 다음 에 브리지 모델 을 통 해 그들 을 분리 시 켜 하위 유형의 수 를 줄 일 수 있다.
만약 에 한 시스템 이 구축 한 추상 화 된 역할 과 구체 화 된 역할 사이 에 더 많은 유연성 을 증가 하고 두 차원 사이 에 정태 적 인 관 계 를 구축 하지 않도록 해 야 한다.
추상 화 된 캐릭터 와 구체 화 된 캐릭터 는 모두 이불 류 로 확장 할 수 있어 야 한다.이런 상황 에서 브리지 모델 은 서로 다른 추상 화 된 역할 과 구체 화 된 역할 을 유연 하 게 조합 하고 독립 적 으로 확대 할 수 있다.
디자인 요구 실현 화 캐릭터 의 어떠한 변화 도 클 라 이언 트 에 영향 을 주어 서 는 안 되 거나 실현 화 캐릭터 의 변 화 는 클 라 이언 트 에 게 완전히 투명 하 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.