策略模式實戰

2021-10-16 16:46:37 字數 871 閱讀 9303

把各種策略解耦 

//返獎策略介面

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