Heim >Java >javaLernprogramm >Beispielanalyse für Java-Entwurfsmusterstrategiemuster
1) In Strategy Pattern werden Algorithmusfamilien (Strategiegruppen) separat definiert und gekapselt, sodass sie untereinander ersetzt werden können. Dieser Modus macht Algorithmusänderungen unabhängig von den Kunden, die den Algorithmus verwenden
2 ) Dieser Algorithmus verkörpert mehrere Designprinzipien. Erstens trennt er sich ändernden Code von unverändertem Code. Zweitens ist er für Schnittstellen und nicht für bestimmte Klassen programmiert. Drittens werden Mehrzweckkombinationen/Aggregation verwendet Strategien in Kombination verwenden)
Zum Beispiel: Für die Umweltenergieeinsparung werden drei Energiesparmethoden vorgeschlagen: Basisbandplatinen-Energieeinsparung, SPC-Energieeinsparung, Produktenergieeinsparung, verschiedene Energiesparmethoden, spezifische Verarbeitung von Umweltgeräten. Der Prozess ist anders
2. Traditioneller Wegpublic abstract class EsPolicy { public void esPolicyHandler() { } }
public class BbEsPolicy extends EsPolicy { @Override public void esPolicyHandler() { System.out.println("===处理基带板节能策略==="); } }. 4) ProdEsPolicy erbt EsPolicy und überschreibt die esPolicyHandler-Methode.
public class SpcEsPolicy extends EsPolicy { @Override public void esPolicyHandler() { System.out.println("===Spc节能策略处理==="); } }Basisbandplatine Energiesparstrategie = = =
===Spc-Energiesparstrategieverarbeitung=======Produktenergiesparstrategieverarbeitung===
( 2) Codierungsimplementierung
1) Definieren Sie die Richtlinienschnittstelle und definieren Sie die abstrakte Methode
public class ProdEsPolicy extends EsPolicy { @Override public void esPolicyHandler() { System.out.println("===产品节能策略处理==="); } }
2) BbEsPolicyHandler implementiert die Richtlinienschnittstelle und implementiert die esPolicyHandler-Methode
public class EsPolicyTest { public static void main(String[] args) { EsPolicy bbEsPolicy = new BbEsPolicy(); bbEsPolicy.esPolicyHandler(); SpcEsPolicy spcEsPolicy = new SpcEsPolicy(); spcEsPolicy.esPolicyHandler(); ProdEsPolicy prodPolicy = new ProdEsPolicy(); prodPolicy.esPolicyHandler(); } }
3) SpcEsPolicyHandler implementiert die Richtlinienschnittstelle und implementiert die esPolicyHandler-Methode8) ProdEsPolicy erbt EsPolicy und instanziiert die esPolicyHandler-Schnittstelleneigenschaften in der Konstruktormethode Basisband verarbeiten Board-Energiesparstrategien ===public interface EsPolicyHandler { void esPolicyHandler(); }
4) ProdEsPolicyHandler implementiert die Richtlinienschnittstelle und implementiert die esPolicyHandler-Methode
7) SpcEsPolicy erbt EsPolicy und instanziiert es in den esPolicyHandler-Schnittstelleneigenschaften des Konstruktors.public class BbEsPolicyHandler implements EsPolicyHandler { @Override public void esPolicyHandler() { System.out.println("===基带板节能策略处理==="); } }
= ==Spc-Energiesparstrategieverarbeitung===
===Produktenergiesparstrategieverarbeitung===4. Vorsichtsmaßnahmen und Details des Strategiemodells
1) Der Schlüssel Zum Strategiemodell gehört: Analysieren Sie die sich ändernden und unveränderten Teile des Projekts. Teil
Das obige ist der detaillierte Inhalt vonBeispielanalyse für Java-Entwurfsmusterstrategiemuster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!