간편한 Java 브리지 모드

정의: 추상적인 부분과 실현된 부분을 분리하여 그것들이 모두 독립적으로 변화할 수 있도록 한다.
특징: 브리지 모델은 클래스의 최소 디자인 원칙을 바탕으로 봉인, 집합 및 계승 등 행위를 통해 서로 다른 클래스가 서로 다른 책임을 지도록 한다.그것의 주요 특징은 추상(abstraction)과 행위 실현(implementation)을 분리하여 각 부분의 독립성을 유지하고 그것들의 기능 확장에 대응할 수 있다는 것이다.
기업급 개발 및 상용 프레임워크에서의 응용: 다계승 구조
다만 브리지 연결 모델을 정의하고 이해하는 것은 그 작용을 정리하기 어렵다. 다음은 예를 들어 설명한다.
컴퓨터 시티에서 컴퓨터를 팔고 컴퓨터 종류는 태블릿PC, 노트북, 데스크톱으로 나뉜다.컴퓨터 브랜드는 또 연상, 데이어, 화석, 신주로 나뉘었다.만약에 다계승의 측면에서 분류를 하려면 먼저 컴퓨터 추상류를 만들어야 한다. 그 다음에 태블릿PC, 노트북컴퓨터, 데스크톱컴퓨터는 각각 추상류를 계승하고 서로 다른 컴퓨터 브랜드는 이런 컴퓨터 분류의 분류를 계승한 다음에 방법을 실현해야 한다. 만약에 컴퓨터 종류를 추가하려면 서로 다른 컴퓨터 브랜드가 이 종류를 계승하거나 컴퓨터 브랜드를 추가해야 한다.또 다른 분류를 계승해야 한다. 이렇게 하면 창설이 복잡해진다.
한편, 브리지 모델의 사상은 서로 다른 차원에서 실현되고 결합도를 높이는 방식으로 개발 작업량을 줄이는 것이다. 예를 들어 위의 컴퓨터 분류와 컴퓨터 브랜드 분류는 두 차원으로 나뉘는데 만약에 우리가 두 차원에서 각각 실현한다면 우리는 개발의 복잡도를 줄일 수 있다. 이것이 바로 자바 개발의 단일 원칙이다.
구현 코드는 다음과 같습니다.

package com.test.bridge;

interface Brand {
 public void sale();
}

class Dell implements Brand {
 public void sale() {
 System.out.println(" ");
 }
}

class Lenovo implements Brand{
 public void sale() {
 System.out.println(" ");
 }
}

class Computer {
 protected Brand brand;
 public Computer(Brand b) {
 this.brand = b;
 }
 public void sale() {
 brand.sale();
 }
}

class Desktop extends Computer{

 public Desktop(Brand b) {
 super(b);
 }
 @Override
 public void sale() {
 super.sale();
 System.out.println(" ");
 }
}

class Laptop extends Computer{

 public Laptop(Brand b) {
 super(b);
 }
 public void sale() {
 super.sale();
 System.out.println(" ");
 }
}

class Pad extends Computer{

 public Pad(Brand b) {
 super(b);
 }
 @Override
 public void sale() {
 super.sale();
 System.out.println(" ");
 }
}

public class Demo {
 public static void main(String[] args) {
 // 
 Brand b = new Lenovo();
 Computer c = new Laptop(b);
 c.sale();
 
 // dell 
 Brand b1 = new Dell();
 Computer c1 = new Desktop(b1);
 c1.sale();
 }
}

위의 예를 통해 알 수 있듯이 우리는 브랜드(Brand)를 대상의 형식으로 컴퓨터 분류의 유형에 넣는다. 이렇게 하면 컴퓨터의 복잡도를 효과적으로 낮출 수 있고 기하학적으로 낮출 수 있으며 두 방향으로 나누어 실현하고 우리의 사고방식을 더욱 명확하게 할 수 있다.
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기