我們目前有兩個客戶代碼「CUSTA」和「CUSTB」。 CUSTA可以執行操作A1,A2,A3,A4,A5,A6。 CUSTB可以根據一些條件執行操作B1,B2,B3,B4,B5,B6。目前他們並不期待更多的客戶代碼,但我希望設計具有靈活性。這些可以存儲在數據庫中,但正如我所提到的,因爲長時間不可能擁有另一個客戶代碼,它需要用代碼表示。Java枚舉或其他集合
應用邏輯基本算法看起來像
if ConditionX is true
then if customerCode is "CUSTA"
then applicableOperation = 'A1'
else
if customerCode is "CUSTB"
then applicableOperation = 'B1'
end
else
if ConditionY is true
then
if customerCode is "CUSTA"
then applicableOperation = 'A2'
else
if customerCode is "CUSTB"
then applicableOperation = 'B2'
end
else
............... ................ 。
我可以編寫switch語句等來清理算法,但我主要關心的是如何表示「CUSTA」,「CUSTB」,「A1」,「A2」,「A3」,「A4」。 .. 「A6」, 「B1」, 「B2」 ... 「B6」。客戶是否碼是枚舉像
public enum CustomerCode { CUSTA, CUSTB }
public enum OperationsForA{ A1, A2, A3,...A6 }
public enum OperationsForB{ B1, B2, B3...B6}
我應當創造一個Map
,其中關鍵是CustomerCode,並添加相應的操作作爲值。
什麼是最好的解決方案來解決這個問題。例如,未來還應該靈活地添加「CUSTC」。
感謝
我同意..但我正在尋找Java的替代品。 –
如果你真的同意,*爲什麼*你在尋找Java的替代品? – EJP