精妙絕倫的設計模式:策略模式+模板模式+工廠模式

還是以經典的會員價格策略爲依託場景;

一、首先加入maven依賴,此依賴用於掃描並獲取特定含有特定註解的類

 

二、定義個一個自定義註解,用來定義並判斷價格區間

 

三、寫一個策略接口類,用於定義獲取折後價格的抽象方法

 

四、寫一個抽象類,用來實現策略接口中的方法,並且將公共的前置判斷邏輯放在此抽象類中(此爲模板設計模式),並定義好抽象方法calcPrice()讓各自的策略類中去實現

 

五、各自的策略類:Ordinary(普通用戶),Member(會員 6折),SuperMember(超級會員,4折),都需要繼承公共的模板類AbstractPrice

 

 

 

六、寫一個工廠類,所有的策略類將注入到這個類中

 

七、寫一個上下文類,用於獲取具體的策略類實例,並執行對應策略類實例的計算方法:

 

測試:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章