Latest web development tutorials

Vorlagenmodus

Im Template-Modus (Template-Muster) und eine abstrakte Klasse, wie sie offenbart ein Verfahren / Vorlage auszuführen definiert. Die Unterklassen müssen die Methode außer Kraft setzen kann erreicht werden, wird aber abstrakte Klasse bezeichnet wird definiert. Diese Art von Entwurfsmustern gehören Verhaltensmuster.

Einführung

Intent: Definieren eines Skeletts Betriebsalgorithmus, während einige Schritte zu Subklassen aufzuschieben.Template-Methode können Subklassen eines Algorithmus, ohne die Struktur eines bestimmten Schritt des Algorithmus zu ändern können neu definiert werden.

Haupt Lösung: Einige gängige Methode, aber in jeder Unterklasse neu schreiben diesen Ansatz.

Wann verwendet man :Esgibteinige allgemeine Methoden.

Wie zu lösen: diese allgemeinen Algorithmus abstrahiert.

Der Schlüsselcode: abstrakte Klasse implementiert , die anderen Schritte in der Unterklasse Umsetzung.

Anwendungsbeispiele: 1, wenn in einem Haus gebaut, Fundamente, Leitungen, Wasserleitungen sind die gleichen, nur im letzten Teil des Gebäudes haben einen Schrank plus plus Zäune Unterschiede.2, Die Reise nach Westen einen guten Buddha in 81 schwer gesetzt, ist dies ein Top-Level-logischen Rahmen. 3, Spirng in Hibernate Unterstützung, haben einige von ihnen bereits eine gute Möglichkeit gegeben, wie offene Transaktionen einkapseln, zu erhalten Session, Session schließen und andere Programmierer, die keine Schreib guten Code Normen wiederholt haben, direkten Wurf ein Unternehmen gespeichert werden können.

Vorteile: 1, Teil des gleichen Pakets, erweitert variablen Teil.2, extrahieren gemeinsamen Code, leicht zu pflegen. 3 wird das Verhalten von der übergeordneten Klasse, Unterklasse Implementierung gesteuert.

Nachteile: jede der verschiedenen Implementierungen erfordern eine Unterklasse zu erreichen, in einer Erhöhung der Anzahl der Klassen führt, was das System erheblich.

Einsatzszenarien: 1, mehrere Unterklasse übliche Methode, und die gleiche Logik.2, wichtig, komplexe Methoden als Vorlage Methode betrachtet werden.

Hinweis: Um schädliche Aktionen, verbunden mit den allgemeinen Vorlage Methoden sind endgültig Keywords verhindern.

Realisierung

Wir werden eine benutzerdefinierte AktionSpielabstrakte Klasse zu erstellen, wobei die Template - Methode bis zur endgültigen gesetzt ist, so wird es nicht überschrieben werden.CricketandFootball-Spielist eine Erweiterung des Entity - Klasse, die die abstrakte Klasse außer Kraft setzt.

TemplatePatternDemo,zeigen wir die Verwendung vonSpielklassedie Verwendung eines Schablonenmuster zu demonstrieren.

Vorlage Muster UML-Diagramm

Schritt 1

Erstellen Sie eine abstrakte Klasse, wird sein Template-Methode zur endgültigen gesetzt.

Game.java

public abstract class Spiel {
   abstract void initialize ();
   abstract void startPlay ();
   abstract void Axialspielstruktur ();

   // Template public final nichtig play () {

      // Initialisieren Sie das Spiel initialize ();

      // Starten Sie das Spiel startPlay ();

      // End Spiel Axialspielstruktur ();
   }
}

Schritt 2

Erstellen Sie die Entitätsklassen oben Klasse erweitert.

Cricket.java

public class Cricket erstreckt Spiel {

   @Override
   Leere Axialspielstruktur () {
      System.out.println ( "Cricket Spiel beendet!");
   }

   @Override
   void initialize () {
      System.out.println ( "! Cricket Spiel Initialized beginnen zu spielen.");
   }

   @Override
   Leere startPlay () {
      System.out.println ( "Cricket Spiel begann das Spiel genießen.!");
   }
}

Football.java

public class Fußball erstreckt Spiel {

   @Override
   Leere Axialspielstruktur () {
      System.out.println ( "Football Spiel beendet!");
   }

   @Override
   void initialize () {
      System.out.println ( "! Fußballspiel Initialized beginnen zu spielen.");
   }

   @Override
   Leere startPlay () {
      System.out.println ( "Fußballspiel begann das Spiel zu genießen.!");
   }
}

Schritt 3

Spieldie Template - Methode play () mit dem Spiel zu zeigen , definiert.

TemplatePatternDemo.java

public class TemplatePatternDemo {
   public static void main (String [] args) {

      Spiel spiele = new Cricket ();
      game.play ();
      System.out.println ();
      Spiel = new Fußball ();
      game.play ();		
   }
}

Schritt 4

Stellen Sie sicher, ausgegeben.

Cricket-Spiel Initialized! Starten Sie die Wiedergabe.
Cricket Spiel gestartet. Das Spiel genießen!
Cricket Spiel beendet!

Fußballspiel Initialized! Starten Sie die Wiedergabe.
Fußball-Spiel gestartet. Das Spiel genießen!
Fußballspiel Fertig!