把各種策略解耦
//返獎策略介面
public inte***ce rewardstrategy
//新使用者返獎策略
public class newuserrewardstrategy implements rewardstrategy
}//老使用者返獎策略
public class olduserrewardstrategy implements rewardstrategy
}//返獎上下文
public class rewardcontext
public void dostrategy(string userid)
}//返獎列舉
public enum rewardstrategyenum
private string code;
private class clazz;
public string getcode()
public void setcode(string code)
public class getclazz()
public void setclazz(class clazz)
/*** 根據code獲取clazz
* @param code
* @return
*/public static class getclazzbycode(string code)
}return null;
}}//返獎工具類
public class rewardutils
}//返獎測試類
public class rewardtest
}
策略模式實戰
在專案中可能遇到這樣的情況,我們要收集專案中的所有資訊,而每種資訊的收集方法是不一樣的,我就遇到了這樣的情況。起初我用的是直接收集合併,在二個時就已經很費力了,這次是把所有的資訊 有11處之多 收集起來。我想到了策略模式的意圖,把策略選擇邏輯和策略執行邏輯分開。所以我就把4種選擇方法分別做成了四種策...
常用設計模式 策略模式實戰
什麼是策略模式?常用設計模式 策略模式 場景 假設有乙個支付的業務場景,不同 的訂單要做不同的處理 下面是普通的寫法 override public string order order order else if order.getsource equals ordersourceenum.wec...
實戰中的策略模式
這裡舉乙個 vue elementui 專案中用到的例子,其他框架的專案原理也類似,和大家分享一下。element 的 控制項的 column 接受乙個 formatter 引數,用來格式化內容,其型別為函式,並且還可以接受幾個特定引數,像這樣 function row,column,cellval...