[JAVA] Muster der Verantwortungskette

Objekte nacheinander aufrufen </ font>

Design Pattarm MENU

Überprüfen Sie mit der folgenden Klassenstruktur

Klasse Erläuterung
abstract
chain.class
Kettenfunktion definieren
Das Feld next speichert die nächste Objektinstanz
set():Stellen Sie die folgenden Objekte ein
doChain()Definieren
chai1.class~chain3.class Kette implementieren
user(Main.class) Funktionsprüfung
  • Benutzer Enthält die Bedeutung, die andere Entwickler für dieses Muster verwenden

abstract_class_chain


abstract class chain{
   String name = this.getClass().getName();
   chain  next;             //Speichern Sie die folgenden Objekte

   chain set(chain next){
         this.next=next;
         return this.next;  //Gibt das nächste Objekt zurück
   }

   abstract void doChain();
   void  print(){
         System.out.println(name);}
}

chain1.class


class chain1 extends chain{
      void   doChain(){
             print();
             if(next != null){next.doChain();}  //DoChain des nächsten Objekts()Lauf
      }
}

chain2.class


class chain2 extends chain{
      void   doChain(){
             print();
             if(next != null){next.doChain();} 
      }
}

chain3.class


class chain3 extends chain{
      void   doChain(){
             print();
             if(next != null){next.doChain();}
      }
}

user(Main.class)


public static void main(String[] args){
   chain1 ch1 = new chain1();
   chain2 ch2 = new chain2();
   chain3 ch3 = new chain3();
   ch1.set(ch2).set(ch3);
   ch1.doChain();
}

Recommended Posts

Muster der Verantwortungskette
Muster der Verantwortungskette
Entwurfsmuster ~ Verantwortungskette ~
Überdenken des Java8-Lambda-Ausdrucks- und Stream-Entwurfsmusters - Muster der Verantwortungskette -
Welchen Mann magst du? Identifizieren von Liebeszielen anhand des Chain of Responsibility-Musters
Anwendungsbeispiel für Entwurfsmuster (Nr. 1)