Pc richtlinie Muster

Hier kommen uns Strategiemuster zu Hilfe. Wir werden das Strategiemuster lernen und es dann anwenden, um unser Problem zu lösen. Gemäß dem Strategieentwurfsmuster für ein bestimmtes Problem gibt es mehrere Lösungen für dieses Problem. Aus diesen Lösungen müssen wir zur Laufzeit eine Lösung auswählen. Vergleicht man dies mit dem realen Beispiel Steve hat vier Optionen des Transports und bilden diese vier Optionen steve hat, um eine Option basierend auf den Kosten, Komfort und Zeit, um den Flughafen zu erreichen wählen. Um das Strategiedesign zu verstehen, könnte dieses Beispiel aus der realen Welt das gute Beispiel sein. Gemäß dem Strategiemuster sollten die Verhaltensweisen einer Klasse nicht vererbt werden. Stattdessen sollten sie mithilfe von Schnittstellen gekapselt werden. Dies ist mit dem Open/Closed-Prinzip (OCP) vereinbar, das vorschlägt, dass Klassen für die Erweiterung geöffnet, aber für Änderungen geschlossen werden sollten.

Nehmen wir das Beispiel eines Webanwendungsentwicklers, um das Strategieentwurfsmuster zu erklären. Ich kann einfach einen Webentwickler bitten, einen Teil des Programms für den Client zu schreiben, um eine Benutzeroberfläche zu erstellen, wenn das Front-End-Framework kein Problem darstellt. Ein Entwickler hat Sich für Angular entschieden, so dass er mit Angular die Benutzeroberfläche entwickeln wird. Der andere Entwickler entscheidet sich, React Js zu verwenden, um die Benutzeroberfläche für den Client in der Zwischenzeit zu entwickeln. Und ich habe nichts dagegen, ich habe die Details, wie Entwickler den Code schreiben können, um die Benutzeroberfläche für die Web-Anwendung zu entwickeln und beide haben ihre eigenen Strategien. Wenn der Entwickler bei jedem Schritt das Gefühl hat, dass er sein Framework ändern muss, kann er seine Strategie ändern und einen anderen Rahmen für die Entwicklung verwenden. Im Startegy-Entwurfsmuster dreht sich also alles um Verhaltensweisen, die sich dynamisch ändern. Entwickler verwenden häufig das Fassadenentwurfsmuster, wenn ein System sehr komplex oder schwer verständlich ist, weil das System über viele voneinander abhängige Klassen verfügt oder weil sein Quellcode nicht verfügbar ist. Dieses Muster verbirgt die Komplexität des größeren Systems und bietet eine einfachere Schnittstelle zum Client.

Es handelt sich in der Regel um eine einzelne Wrapperklasse, die eine Gruppe von Membern enthält, die vom Client benötigt werden. Diese Mitglieder greifen im Auftrag des Fassadenclients auf das System zu und verbergen die Implementierungsdetails aus.