Schreiben erstellen Muster

Sie schreiben eine Mustersprache, die Schritt für Schritt Anweisungen zum Tun oder Implementieren von etwas bietet. Wenn Sie sich auf ein Muster mit einem Noun-Satznamen beziehen, bei dem ein Verständnis des Problems wichtig ist, fügen Sie das Problem in den verweisenden Ausdruck wie in: “In diesem Entwurf haben wir einen Proxy verwendet, um ein Objekt aus der Ferne verweisen zu lassen.” Beim Dekoratormuster geht es darum, zusätzliche Funktionalität einzuführen und dies insbesondere ohne Vererbung zu tun. Die meisten Muster in dieser Sprache begannen als Beobachtungen über “Dinge, die gut funktionierten” in einem bestimmten Muster oder einer bestimmten Sprache, die in einem PLoP-95-Schriftstellerworkshop überprüft wurden. Im Verlauf der PLoP-95 führten diese Beobachtungen zu Hypothesen, dass einige dieser Techniken und Ansätze besonders effektiv bei der Lösung wiederkehrender Probleme beim Musterschreiben sein würden. Diese Hypothesen wurden in nachfolgenden Musterüberprüfungen getestet; wenn sich gezeigt hat, dass die Hypothesen in den meisten Fällen wahr sind, haben wir begonnen, sie mit eindrucksvollen Namen zu bezeichnen. (Am Anfang waren die Namen alles, was wir ihnen mitteilen mussten, also mussten sie evozierend sein, um wirksam zu sein.) Beim Vergleich von Notizen, die auf den Erfahrungen unserer jeweiligen Überprüfungsgruppen basierten, begannen wir zu beobachten, dass die Arten von Praktiken, die beigebracht wurden, trotz der Unabhängigkeit unserer Überprüfungsgruppen sehr ähnlich waren. Es wurde schnell erkannt, dass diese Techniken und Ansätze selbst in Form einer Mustersprache ausgedrückt werden konnten. In größeren Mustersprachen ist es nützlich, eine Problem-/Lösungszusammenfassung bereitzustellen, um dem Leser zu helfen, die Muster zu finden, die ihre spezifischen Probleme lösen. Ergebniskontext: Der Kontext, in dem wir uns befinden, nachdem das Muster angewendet wurde. Es kann ein oder mehrere neue Probleme enthalten, die gelöst werden müssen. Dies versetzt uns auf die Anwendung weiterer Muster, möglicherweise der nächsten Muster in einer Sprache.

In den folgenden Tabellen werden die Muster in dieser Mustersprache zu Referenzzwecken zusammengefasst. Pythons Philosophie basiert auf der Idee gut durchdachter Best Practices. Python ist eine dynamische Sprache (habe ich das schon gesagt?) und implementiert daher bereits eine Reihe beliebter Designmuster mit ein paar Codezeilen oder macht es einfach zu implementieren. Einige Designmuster sind in Python integriert, daher verwenden wir sie auch ohne es zu wissen. Andere Muster sind aufgrund der Art der Sprache nicht erforderlich. Ein Muster stellt eine Lösung für ein Problem in einem Kontext dar. Wie stellen Sie sicher, dass der Leser die Lösungswahl versteht? Jemand klüger als ich einmal gesagt habe, dass Factory in Python eingebaut ist. Es bedeutet, dass die Sprache selbst uns alle Flexibilität bietet, die wir brauchen, um Objekte in einer ausreichend eleganten Art und Weise zu schaffen; wir müssen selten etwas oben implementieren, wie Singleton oder Factory. Sie schreiben ein Muster und versuchen, Konzepte zu kommunizieren, die am besten mithilfe von Diagrammen oder Illustrationen kommuniziert werden. Sie haben eine klare Zielgruppe identifiziert. Kombinieren Sie PEP-8 mit The Zen of Python (auch ein PEP – PEP-20), und Sie haben eine perfekte Grundlage, um lesbaren und verwaltbaren Code zu erstellen.

Fügen Sie Design-Muster hinzu und Sie sind bereit, jede Art von Software-System mit Konsistenz und Evolvierbarkeit zu erstellen. Fügen Sie den evokativen Namen des externen Musters in den Text ein. Wenn zum ersten Mal auf das externe Muster verwiesen wird, stellen Sie sowohl ein Author/Year-Tag als auch eine Fußnote mit einer kurzen (ein oder zwei Sätzen) “Thumbnail”-Beschreibung der Essenz des externen Musters zur Verfügung. Die Miniaturansicht sollte gerade genug Informationen über das externe Muster bereitstellen, um die Verständlichkeit Desmuster zu maximieren. Reguläre Ausdrücke sind Muster, die verwendet werden, um Zeichenkombinationen in Zeichenfolgen abzugleichen. In JavaScript sind reguläre Ausdrücke ebenfalls Objekte.