suchen
Heimhäufiges ProblemWas ist das Strategiemuster?

Was ist das Strategiemuster?

Jun 28, 2020 pm 04:50 PM
策略模式

Als Software-Entwurfsmuster bedeutet das Strategiemuster, dass das Objekt ein bestimmtes Verhalten aufweist, das Verhalten jedoch in verschiedenen Szenarien unterschiedliche Implementierungsalgorithmen aufweist. Dieses Muster löst das Problem mehrerer ähnlicher Algorithmen und Wartungsschwierigkeiten, die durch die Verwendung von „if...else“ verursacht werden.

Was ist das Strategiemuster?

Einführung

Absicht: Definieren Sie eine Reihe von Algorithmen, kapseln Sie sie einzeln und machen Sie sie zugänglich Ersetzen gegenseitig.

Hauptlösung: Wenn mehrere ähnliche Algorithmen vorhanden sind, wird die Komplexität und Schwierigkeit der Wartung durch die Verwendung von if...else verursacht.

Wann zu verwenden: Ein System hat viele, viele Klassen, und was sie auszeichnet, ist ihr direktes Verhalten.

So lösen Sie: Kapseln Sie diese Algorithmen nacheinander in Klassen und ersetzen Sie sie beliebig.

Schlüsselcode: Implementieren Sie dieselbe Schnittstelle.

Anwendungsbeispiele: 1. Zhuge Liangs Tipps, jeder Tipp ist eine Strategie. 2. Wie man reist: Wählen Sie Fahrrad oder Auto. Jede Art des Reisens ist eine Strategie. 3. LayoutManager in JAVA AWT.

Vorteile: 1. Der Algorithmus kann frei umgeschaltet werden. 2. Vermeiden Sie die Verwendung mehrerer bedingter Urteile. 3. Gute Skalierbarkeit.

Nachteile: 1. Strategiekategorien werden zunehmen. 2. Alle Strategieklassen müssen der Außenwelt zugänglich gemacht werden.

Verwendungsszenarien: 1. Wenn es viele Klassen in einem System gibt und der Unterschied zwischen ihnen nur ihr Verhalten ist, kann die Verwendung des Strategiemusters einem Objekt dynamisch erlauben, ein Verhalten unter vielen Verhaltensweisen auszuwählen. 2. Ein System muss dynamisch einen von mehreren Algorithmen auswählen. 3. Wenn ein Objekt viele Verhaltensweisen ohne geeignete Muster aufweist, müssen diese Verhaltensweisen mithilfe mehrerer bedingter Auswahlanweisungen implementiert werden.

Hinweis: Wenn ein System über mehr als vier Strategien verfügt, müssen Sie die Verwendung des gemischten Modus in Betracht ziehen, um das Problem der Strategieklassenerweiterung zu lösen.

Implementierung

Wir erstellen eine Strategieschnittstelle, die die Aktivität definiert, und eine Entitätsstrategieklasse, die die Strategieschnittstelle implementiert. Kontext ist eine Klasse, die eine bestimmte Strategie verwendet.

StrategyPatternDemo, unsere Demoklasse verwendet Kontext- und Strategieobjekte, um die Verhaltensänderungen von Kontext zu demonstrieren, wenn sich die konfigurierte oder verwendete Strategie ändert.

Was ist das Strategiemuster?

Empfohlenes Tutorial: „PHP

Das obige ist der detaillierte Inhalt vonWas ist das Strategiemuster?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools