[GO] Muster der Vorlagenmethode in Java

Einführung

Einführung in die Entwurfsmuster von [GoF](https://ja.wikipedia.org/wiki/Gang of for _ (Information Engineering)) ["Einführung in Entwurfsmuster, die in der erweiterten und überarbeiteten Java-Sprache gelernt wurden"]( https://www.amazon.co.jp/ Erweiterte und überarbeitete Ausgabe Einführung in Entwurfsmuster, die in der Java-Sprache gelernt wurden-Yuki-Hiroshi / dp / 4797327030 / ref = pd_lpo_sbs_14_t_0? _ Encoding = UTF8 & psc = 1 & refRID = 2ZE4GPYNN55JGDR5M Ich werde über zusammenfassen.

TemplateMethod-Muster

Was ist die Vorlagenmethode?

** Das in der Oberklasse für das Verarbeitungsframework und in der Unterklasse für die spezifische Implementierung ** definierte Muster wird als ** Muster der Vorlagenmethode ** bezeichnet. Von diesen ist die "** Methode, die das Verarbeitungsframework ** definiert" in der Oberklasse ** TemplateMethod **.

Charakter

Die im folgenden Klassendiagramm angezeigten Klassen werden im TemplateMethod-Muster verwendet. image.png

Abstrakte Klasse

Implementierungsklasse

Konkretes Beispiel

Als konkretes Beispiel basiert die Erklärung auf "** Verfahrenshandbuch ", " Verfahrenshandbuch für Aufgabe A " und " Verfahrenshandbuch für Aufgabe B **".

Abstrakte Klasse

AbstractManual.java


package templateMethod;

public abstract class AbstractManual{
	public abstract void start();

	public abstract void work();

	public abstract void end();

	public final void operation() {
		start();
		for (int i = 0; i < 3; i++) {
			work();
		}
		end();
	}
}

Implementierungsklasse

OperationAManual.java


package templateMethod;

public class OperationAManual extends AbstractManual {
	private char ch;

	public OperationAManual(char ch) {
		this.ch = ch;
	}

	@Override
	public void start() {
		System.out.println("<<Arbeit Ein Anfang>>");
	}

	@Override
	public void work() {
		System.out.println(ch + "Verarbeitet");
	}

	@Override
	public void end() {
		System.out.println("<<Arbeit A beendet>>");
	}
}

OperationBManual.java


package templateMethod;

public class OperationBManual extends AbstractManual {
	private String string;

	public OperationBManual(String string) {
		this.string = string;
	}

	@Override
	public void start() {
		System.out.println("**Arbeit beginnen B.**");
	}

	@Override
	public void work() {
		System.out.println(string + "Verarbeitet");
	}

	@Override
	public void end() {
		System.out.println("**Arbeit B beendet**");
	}
}

Ausführungsklasse

-** Hauptklasse ** Es erstellt Instanzen von "OperationAManual" und "OperationBManual" und ruft "operation ()" von TemplateMethod auf.

Main.java


package templateMethod;

public class Main {
	public static void main(String[] args) {
		AbstractManual d1 = new OperationAManual('F');
		AbstractManual d2 = new OperationBManual("HelloWorld");
		d1.operation();
		d2.operation();
	}
}

Ausführungsergebnis

Das Ergebnis der Ausführung von "Main.java" ist wie folgt. Ich habe dieselbe Operation () aufgerufen, aber ich kann sehen, dass die Ausgabe unterschiedlich ist.

Ausführungsergebnis


<<Arbeit Ein Anfang>>
Verarbeitung F.
Verarbeitung F.
Verarbeitung F.
<<Arbeit A beendet>>
**Arbeit beginnen B.**
Verarbeitung von Hello World
Verarbeitung von Hello World
Verarbeitung von Hello World
**Arbeit B beendet**

verdienen

Durch Verwendung des TemplateMethod-Musters kann das Verarbeitungsframework standardisiert werden. Auf diese Weise kann verhindert werden, dass mehrere Mitarbeiter im Rahmen der Verarbeitung nach Belieben erstellen, und die Teile, die einheitlich sein sollten, sind nicht einheitlich.

Zusammenfassung

Sie haben das Muster der Vorlagenmethode kennengelernt, das das Grundgerüst des Prozesses definiert. Der Beispielcode wird unten hochgeladen. Wenn Sie möchten, lesen Sie ihn bitte.

Darüber hinaus sind unten weitere Entwurfsmuster zusammengefasst. Bitte beziehen Sie sich auch auf diese.

Verweise

Recommended Posts

Muster der Vorlagenmethode in Java
Fassadenmuster in Java
Singleton-Muster in Java
Fliegengewichtsmuster in Java
Beobachtermuster in Java
Iteratormuster in Java
[Detaillierte Erklärung] Muster der Vorlagenmethode
Dekorationsmuster in Java
Entwurfsmuster # Template-Methode
Prototypmuster in Java
Proxy-Muster in Java
Lernen Sie das Entwurfsmuster "Vorlagenmethode" in Python
Python Design Pattern - Template-Methode
Muster der Verantwortungskette in Java
Lernen Sie das Entwurfsmuster "Factory Method" in Python
[Viererbande] Design Pattern Learning - Template-Methode
Singleton-Muster in Python
Linux-Berechtigungen für Java
Verwenden Sie DataFrame in Java
Entwurfsmuster #Factory-Methode
Besuchermuster in Python
Simplex-Methode (Einzelmethode) in Python
Private Methode in Python
Ich habe ein Designmuster in der Kotlin Template Edition geschrieben
Überschreiben Sie die Speichermethode von Django-Modellen
Das Unterdrücken von Methodenüberschreibungen in Python
Zeigen Sie Django ManyToManyField in der Vorlage
Signale in Java erkennen und verarbeiten.
Verwenden Sie die jinja2-Vorlage in einer Excel-Datei
Implementierte Methode zur Weitergabe von Etiketten in Python
Implementierte Blasensortierung in Java (BubbleSort)
Grobe Zusammenfassung des GoF-Java-Entwurfsmusters