基於spring使用策略模式消除if else

2021-10-10 02:07:05 字數 958 閱讀 2660

當我們的**出現很多if-else的時候,這時候**看起來是非常不美觀的,所以可以使用策略模式將if-else消除。這次講的主要是基於spring的

public inte***ce operation
public class addoperation implements operation 

@override

public string getname()

}

public class subtractoperation implements operation 

@override

public string getname()

}

public class compositeoperation 

public operation getoperation(string key)

}

該類主要是用來裝載所有operation介面的物件,並且提供獲得operation介面的物件的方法

@configuration

public class operationconfig

@bean

public operation subtractoperation()

@bean

public compositeoperation compositeoperation(listlist)

}

這樣我們通過注入compositeoperation類的物件,然後通過getoperation方法傳入operation實現類定義的名字,就能計算出不同的結果

@autowired

private compositeoperation operation;

策略模式及Spring整合策略模式

抽象策略類 inte ce sortservice 具體策略類 class insertionsortserviceimpl implements sortservice else arr j 1 tmp return arr 氣泡排序 class bubblesortserviceimpl imp...

Spring中使用設計模式(一 策略模式)

前幾天看到新來的同事桌上有一本設計模式的書,想起許多年前自己啃厚厚的模式時,始終昏昏欲睡,不得要領那段時光。重整思路,結合spring,寫下現在在開發中常用的設計模式使用方式。在工作中最常用的就是策略模式了,也可以說是策略模式的簡化版。客戶端可以決定用那種策略,呼叫上下文,上下文使用具體策略做具體的...

SPRING中策略模式使用的正確姿態

在上述簡介中的場景咱們任取乙個,比如在物流專案中,整合各個電商平台然後進行訂單收件人資訊解密策略。1 定義策略介面 public inte ce idecryptstrategyservice 2 實現定義的策略的具體實現 service public class pdddecryptstrateg...