java 디자인 모드 07 (브리지 모드)
브리지 모드에서 두 개의 독립된 변화의 차원을 두 개의 독립된 계승 등급 구조로 설계하고 추상층에 추상적인 관련을 구축한다. 이 관련 관계는 두 개의 독립된 계승 구조를 연결하는 다리와 유사하기 때문에 브리지 모드라고 부른다.
브리지 모델의 정의: 추상적인 부분과 그의 실현 부분을 결합시켜 둘 다 독립적으로 변화할 수 있도록 한다.
브리지 모델의 구조와 실현: 1.Abstraction(추상 클래스): 추상 클래스를 정의하는 인터페이스로 추상 클래스를 정의하는데 그 중에서 하나의 Implementor(실현 클래스 인터페이스) 유형의 대상을 정의하고 이 대상을 유지할 수 있다. 이것은 Implementor와 관련 관계를 가진다. 추상적인 업무 방법도 포함할 수 있고 구체적인 업무도 포함할 수 있다.
public abstract class Abstraction {
public Implementor implementor;
public void setImplementor(Implementor implementor) {
this.implementor = implementor;
}
public abstract void operation();
}
2. Implementor(클래스 인터페이스 구현): Implementor 인터페이스는 기본 작업만 제공하고,Abstraction이 정의한 인터페이스는 더 많은 복잡한 작업을 할 수 있습니다.Implementor 인터페이스는 이러한 기본 작업에 대해 설명하고 구체적인 실현은 하위 클래스에 맡깁니다.연관 관계를 통해 Abstraction에서 자신의 방법뿐만 아니라 Implementor에서 정의한 방법을 호출하여 연관 관계를 사용하여 상속 관계를 대체할 수 있다.
public interface Implementor {
public void operationImpl();
}
3. Refined Abstraction(추상 클래스 확장): 구체적인 실현 클래스를 위해 Abstraction에서 설명한 추상적인 업무 방법을 실현하고 임플리멘터에서 정의한 업무 방법을 호출한다.
public class RefinedAbstraction extends Abstraction {
@Override
public void operation() {
//
implementor.operationImpl();
}
}
4.ConcreteImplementor(구체적 실현 클래스): Implementor 인터페이스를 실현하여 서로 다른 구체적 실현 클래스에서 서로 다른 실현을 제공하고 추상적 클래스에 구체적인 업무 조작 방법을 제공한다.
public class ConcreteImplementor implements Implementor {
@Override
public void operationImpl() {
System.out.println(" !");
}
}
5.Test:
public class Test {
public static void main(String[] args) {
Implementor implementor=new ConcreteImplementor();
RefinedAbstraction abstraction=new RefinedAbstraction();
abstraction.setImplementor(implementor);
abstraction.operation();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.