[PYTHON] Zusammenfassung der Prototypmuster der Einführung in Entwurfsmuster, die in Java gelernt wurden

Lange nicht gesehen. Es ist weiß. Neulich kennen leitende Ingenieure das Entwurfsmuster nicht! ?? Danach erhielt ich eine "Einführung in Designmuster, die in Java gelernt wurden", geschrieben von Hiroshi Yuki, und entschied mich zu studieren. Selbst wenn ich das Buch lese, kann ich mich nicht daran erinnern, deshalb habe ich beschlossen, es als Memorandum zu schreiben. Dies ist das 6. Mal. Ich werde mein Bestes geben, damit ich das Rennen beenden kann. Darüber hinaus gibt es ein Beispielprogramm in "Einführung in in Java-Sprache erlernte Entwurfsmuster", das wir jedoch aus urheberrechtlichen Gründen weglassen werden. Bitte verstehe.

Letztes Mal habe ich einen Artikel über "Singleton-Muster" geschrieben. Der vorherige Artikel ist unten. https://qiita.com/sirajirasajiki/items/532d33fd823e52ab0d1a

Dieses Mal möchte ich das "Prototypmuster" beschreiben. Darüber hinaus gibt es ein Beispielprogramm in "Einführung in in Java-Sprache erlernte Entwurfsmuster", das wir jedoch aus urheberrechtlichen Gründen weglassen werden. Bitte verstehe.

Kapitel 6 Prototypmuster-Kopie und Instanz

"Einführung in in Java gelernte Entwurfsmuster"

"Prototypmuster", das aus einer Instanz eine andere Instanz erstellt

Es gab eine Beschreibung. Dieses Prototypmuster dupliziert eine vorhandene Instanz, um eine neue zu erstellen.

Verwendung des Prototypmusters

Wenn Sie dieses Muster verwenden, verwenden Sie es in den folgenden Fällen.

  1. Zu viele Arten von Objekten
  2. Wenn es schwierig ist, eine neue Instanz aus der Klasse zu erstellen
  3. Wenn Sie das Framework von der generierten Instanz trennen möchten

2 zeigt an, dass es schwierig ist, eine Instanz zu erstellen, wenn eine neue Instanz nicht aus einer Klasse erstellt werden kann, z. B. eine vom Benutzer mit einer Malanwendung erstellte Bildinstanz oder eine vom Benutzer mit einem Modellierungswerkzeug erstellte Modellinstanz. ..

Vorsichtsmaßnahmen bei Verwendung des Prototypmusters

Beispiel mit Prototyp

Betrachten wir diesmal die in "Einführung in Java-Sprache erlernte Entwurfsmuster" beschriebene, die eine Zeichenfolge mit Zeichen einschließt oder die Zeichenfolge mit einem bestimmten Zeichen unterstreicht. Eine Klasse, die Zeichen enthält, und eine Klasse, die eine Zeichenfolge mit einem bestimmten Zeichen unterstreicht, wird von einer Klasse namens Manager verwaltet.

Klassen Diagramm

prototype.png

Dieses Klassendiagramm wird als PlantUML bezeichnet. Der PlantUML-Code, den ich geschrieben habe, befindet sich auf dem GitHub unten. Lesen Sie daher bitte Read Me, bevor Sie ihn verwenden. Es ist singleton.txt. https://github.com/sirajirasajiki/design_pattern_uml/tree/master/prototype Einzelheiten zur Installation und Verwendung von PlantUML finden Sie im Anhang unten.

In Python basierend auf dem Klassendiagramm implementiert

Der unten implementierte Code ist verfügbar. Implementiert in Python 3.7. https://github.com/sirajirasajiki/design_pattern_python/tree/master/Prototype

Zusammenfassung

Sie haben das Prototypmuster zum Erstellen einer anderen Instanz aus einer vorhandenen Instanz kennengelernt.

Kapitel 6 Impressionen

Persönlich habe ich mich gefragt, ob das Prototypmuster verwendet werden würde, wenn komplexe Berechnungen mit mehreren Mustern durchgeführt werden. Angenommen, Sie haben eine Klasse, die numerische Berechnungen durchführt, und Sie haben eine Instanz X, die diese Klasse erbt. Wenn ich den Wert berechnen möchte, den Instanz X in beiden Fällen A und B hat, ist es schwierig, ihn zweimal zu berechnen, sodass es einfacher ist, ihn zu kopieren. Daher fand ich diese Idee praktisch.

~~ Ich werde zu einem späteren Zeitpunkt ein gutes Beispiel machen und es in Python implementieren. ~~ Ich konnte mir kein Beispiel vorstellen, also schrieb ich es in Python anhand des Beispiels im Buch.

Schließlich

Wenn Sie etwas falsch finden, würde ich es begrüßen, wenn Sie darauf hinweisen könnten!

appendix

Recommended Posts

Zusammenfassung der Prototypmuster der Einführung in Entwurfsmuster, die in Java gelernt wurden
Singleton-Musterzusammenfassung der Einführung in Entwurfsmuster, die in Java gelernt wurden
Zusammenfassung von Kapitel 2 der Einführung in Entwurfsmuster, die in Java gelernt wurden
Kapitel 4 Zusammenfassung der Einführung in Entwurfsmuster, die in Java gelernt wurden
Zusammenfassung von Kapitel 3 der Einführung in Entwurfsmuster, die in Java gelernt wurden
Zusammenfassung von Anfang bis Kapitel 1 der Einführung in Entwurfsmuster, die in der Java-Sprache gelernt wurden
[Von Zeit zu Zeit aktualisiert] Zusammenfassung der Entwurfsmuster in Java
Mit Java & PHP erlernte Entwurfsmuster (Zusammenfassung)
Prototypmuster in Java
Entwurfsmuster in Python: Einführung
Zusammenfassung verschiedener Operationen in Tensorflow
Muster der Verantwortungskette in Java
Grobe Zusammenfassung des GoF-Java-Entwurfsmusters
Zusammenfassung der Mehrprozessverarbeitung der Skriptsprache
Lernen Sie das Entwurfsmuster "Prototype" mit Python
Zusammenfassung der häufig verwendeten Methoden bei Pandas
Zusammenfassung der häufig verwendeten Befehle in matplotlib
Zusammenfassung verschiedener for-Anweisungen in Python
Zusammenfassung der Hosting-Seiten der Bibliothek nach Sprache
[Viererbande] Designmuster lernen - Prototyp
Gang of Four (GoF) -Muster in Python
Zusammenfassung der Stolpersteine bei der Installation von CaboCha
Trennung von Design und Daten in matplotlib
Zusammenfassung der Module und Klassen in Python-TensorFlow2-
Zusammenfassung der integrierten Methoden usw. der Python-Liste