在使用策略模式時,我們要建立相應的策略,然後根據不同的場景使用不同的策略,這是可以的,但畢竟那是一堆的策略類,使用起來**的可讀性、擴充套件性也就一般,這種情況下我們可以使用策略模式的公升級版---策略列舉來解決上邊的問題
列舉類:
public enum strategyenum
},sub("-")
},muti("*")
};strategyenum(string value)
private string value;
public string getvalue()
public void setvalue(string value)
public abstract int exec(int a, int b);
}
測試類:
public class strategyenumtest
}
執行結果:
怎麼樣,這樣的一堆策略是不是看起來很清爽,**的可讀性、可擴充套件性就高很多了
差點忘了,這個是從設計模式之禪這本書上溫習時看到的,雖然簡單,但是許多的簡單技巧拼湊起來,你的**就會不一樣
策略模式(策略列舉)
首先定義乙個介面 package com.yecc.suanfa.strategy created by yecc on 2020 11 16 19 35 public inte ce strategy 定義三個繼承介面的類 package com.yecc.suanfa.strategy crea...
策略模式的擴充套件 策略列舉
各位,我給大家出個小學的題目 輸入3個引數,進行加減法運算,引數中兩個是int型的,剩下的乙個引數是string型的,只有 兩個符號可以選擇,不要考慮什麼複雜的校驗,我們做的是白箱測試,輸入的就是標準的int型別和合規的string型別,各位大俠,想想看,怎麼做,簡單得很!有非常多的實現方式,我今天...
策略模式之配置策略
了解策略模式建議大家先看一下這篇 步驟一建立乙個介面 public inte ce strategy然後實現對應的介面a和b public class strategya implements strategy public class strategyb implements strategy 建...