策略模式原理?程序員項目實戰中,策略模式用的不可謂不多啊,必須予以重視,我來為大家科普一下關于策略模式原理?以下内容希望對你有幫助!
程序員項目實戰中,策略模式用的不可謂不多啊,必須予以重視
二、定義Define a family of algorithms, encapsulate each one, and make them interchangeable. [The] Strategy [pattern] lets the algorithm vary independently from clients that use it.
三、目标當然也是在實戰項目中運用策略模式了啊,學會高逼格的編程技巧了啊
四、直接開撸
二哥,人狠話不多,開車。。。走你~~~
經典的策略代碼模式:
調度上下文:
public class Context { private Strategy strategy; public Context(Strategy strategy) { this.strategy = strategy; } public int calculate(int a, int b) { return strategy.calculate(a, b); } }
接口定義:
public interface Strategy { int calculate(int a, int b); }
算法邏輯具體實現:
public class AddStrategy implements Strategy { @Override public int calculate(int a, int b) { return a b; } } public class MulStrategy implements Strategy { @Override public int calculate(int a, int b) { return a * b; } }
調用端實現:
public class ClientInvoke { public static void main(String[] args) { Strategy strategy = new AddStrategy(); Context context = new Context(strategy); System.out.println(context.calculate(10, 20)); } }
根據不同的算法策略,傳入調度上下文,調度器來 調用實現。
OK,下面 來看看 實際業務場景的運用:1、日志記錄功能
很多業務中需要日志記錄的功能,可以實現兩種日志記錄的策略,數據庫日志記錄器、文件日志記錄器。
如果數據庫跪了,可以在異常處理中 做一些降級處理,哈哈哈
2、支付業務功能
針對不同的支付方式,記錄不同的支付信息,或者處理不同的業務流程,等等
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!