[JAVA] Dekorateur Muster

Wickeln Sie das Objekt ein und erweitern Sie die Funktionalität des umschlossenen Objekts </ font>

Design Pattarm MENU

Umfassen Sie im String-Code das String-Objekt in Klammern, anstatt neue Funktionen hinzuzufügen.

Überprüfen Sie mit der folgenden Klassenstruktur

Klasse Erläuterung
abstract
Display.class
Machen Sie es zu einem gemeinsamen Typ für jede Klasse
Abstrakte Methode definieren
Message.class Erweitern Sie Anzeige
Das Zeichenfolgenfeld dieser Klasse wird umbrochen
Decorator.class Erweitern Sie Anzeige
Implementieren Sie Decorator
user(Main.class) Überprüfen Sie den Betrieb
  • Benutzer Enthält die Bedeutung, die andere Entwickler für dieses Muster verwenden

Unten ist der Beispielcode

abstract_class_Display


abstract class Display{
  abstract String getStr();
}

Message.class


class Message extends Display{
      String  msg;
      Message(String s){this.msg=s;}
      String  getStr() {return msg;} 
}

Decorder.class


class Decorator extends Display{
      Display   display;
      StringBuffer sb = new StringBuffer();
 
      Decorator(Display d){this.display=d;}
      String getStr(){
             return makeBorder(display.getStr());}
      String makeBorder(String msg){
             sb.append("<")
               .append(msg)
               .append(">");
             return sb.toString();
  }
}

user(Main.class)


public static void main(String[] args){
       Display d1 = new Message("Hello java");
       Display d2 = new Decorator(new Decorator(new Decorator(d1)));
       System.out.println(d2.getStr());
}

Recommended Posts

Dekorationsmuster
Dekorateur Muster
Entwurfsmuster ~ Dekorateur ~
Prototypmuster
Erinnerungsmuster
Vermittlermuster
Iteratormuster
Zusammengesetztes Muster
Builder-Muster
Brückenmuster
Befehlsmuster
Builder-Muster
Strategiemuster
Iteratormuster
Besuchermuster
Proxy-Muster
Zusammengesetztes Muster
Singleton-Muster
Singleton-Muster
Prototypmuster
Fassadenmuster
Vermittlermuster
Fassadenmuster
Besuchermuster
Brückenmuster
Entwurfsmuster ~ Builder ~
[Java] Strategiemuster
Entwurfsmuster ~ Besucher ~
Java-Entwurfsmuster
Java-Rückrufmuster
Entwurfsmuster ~ Proxy ~
Entwurfsmuster ~ Zustand ~
Factory Method Pattern
Entwurfsmuster ~ Singleton ~
Entwurfsmuster ~ Composite ~
Entwurfsmuster (2): Builder
Entwurfsmuster (1): AbstractFactory
[Java] Singleton-Muster
Entwurfsmuster ~ Befehl ~
Abstraktes Fabrikmuster
Entwurfsmuster ~ Iterator ~
Entwurfsmuster ~ Fassade ~
Entwurfsmuster ~ Brücke ~
Entwurfsmuster ~ Mediator ~
Muster der Vorlagenmethode
Entwurfsmuster ~ Interpreter ~
Factory Method Muster
Entwurfsmuster ~ Beobachter ~
Entwurfsmuster ~ Prototyp ~
[Java] Adaptermuster
Entwurfsmuster ~ Memento ~
Entwurfsmuster ~ Adapter ~
Entwurfsmuster ~ Fliegengewicht ~
Java-Muster-Memo
Refactor die Implementierung des Decorator-Musters mit einer funktionalen Schnittstelle