Heim >Java >javaLernprogramm >Ein Beispiel für ein Objektstrukturmuster eines Brückenmusters in Java

Ein Beispiel für ein Objektstrukturmuster eines Brückenmusters in Java

黄舟
黄舟Original
2017-09-11 10:53:101226Durchsuche

In diesem Artikel werden hauptsächlich relevante Informationen zum Bridge-Modus in Java vorgestellt – der Objektstrukturmodus. Ich hoffe, dass Sie diesen Teil des Wissens beherrschen können

Bridge-Modus in Java - Detaillierte Erläuterung von Beispielen des Objektstrukturmodus

1. Absicht

Der abstrakte Teil ist von seinen Implementierungsteilen getrennt, sodass sie alle unabhängig voneinander geändert werden können.

2. Anwendbarkeit

Verwenden Sie das Brückenmuster in den folgenden Situationen

Sie möchten nicht verwechselt werden Zwischen der Abstraktion und ihrer Umsetzung besteht eine feste Bindungsbeziehung. Dies kann beispielsweise der Fall sein, weil Teile der Implementierung während des Programmablaufs auswählbar bzw. umschaltbar sein sollen.

Die Abstraktion einer Klasse und ihre Implementierung sollten durch die Generierung von Unterklassen erweiterbar sein. Zu diesem Zeitpunkt können Sie mit dem Bridge-Muster verschiedene abstrakte Schnittstellen und Implementierungsteile kombinieren und entsprechend erweitern.

Änderungen an einem abstrakten Implementierungsteil sollten keine Auswirkungen auf Kunden haben, d. h. der Kundencode muss nicht neu kompiliert werden.

(C++) Sie möchten den Implementierungsteil der Abstraktion vollständig vor Clients verbergen. In C++ ist die Darstellung einer Klasse in der Klassenschnittstelle sichtbar.

3. Struktur

4. Code


public interface Implementor {
 /**
  * 实现抽象部分的具体方法
  */
 public void operationImpl();
}


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


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


public abstract class Abstraction {
 private Implementor mImplementor;

 /**
  * 通过实现部分对象的引用构造抽象部分的对象
  *
  * @param implementor 实现部分对象的引用
  */
 public Abstraction(Implementor implementor){
  mImplementor = implementor;
 }

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


public class RefinedAbstraction extends Abstraction {

 /**
  * 通过实现部分对象的引用构造抽象部分的对象
  *
  * @param implementor 实现部分对象的引用
  */
 public RefinedAbstraction(Implementor implementor) {
  super(implementor);
 }

 public void refinedOperation(){
  //对 Abstraction中的方法进行扩展。

  System.out.println("refinedOperation");
  operation();
 }
}


public class Client {

 public static void main(String[] args){
  Abstraction abstraction = new RefinedAbstraction(new ConcreteImplementorA());
  abstraction.operation();
 }
}

Das obige ist der detaillierte Inhalt vonEin Beispiel für ein Objektstrukturmuster eines Brückenmusters in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn