策略模式之策略列舉

2021-08-24 23:44:28 字數 680 閱讀 6006

在使用策略模式時,我們要建立相應的策略,然後根據不同的場景使用不同的策略,這是可以的,但畢竟那是一堆的策略類,使用起來**的可讀性、擴充套件性也就一般,這種情況下我們可以使用策略模式的公升級版---策略列舉來解決上邊的問題

列舉類:

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 建...