當我們的**出現很多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...