將演算法按照策略或場景封裝起來,以方便按照不同的場景執行不同的策略。它很好的解決了通過if...else 來決策行為而帶來的**和邏輯複雜性。
乙個經常被拿來舉例的場景是收銀員收銀場景:它需要根據不同的場景(是否為會員、有無**等)來決定計算方式,如果使用if..else將使得**複雜的無法維護,這時我們就可以分場景來計算即可。
所以該策略的應用場景即為:需要根據場景執行不同的策略(該策略應該具有一定的複雜性)
public inte***ce strategy
複製**
public class strategya implements strategy
}public class strategyb implements strategy
}複製**
@allargsconstructor
public class context
}複製**
public class client else
new context(strategy).showpattern();
} }複製**
模式 策略模式
前言 所有的設計模式都是基於程式設計屆前輩們的不斷實踐得出的解決一類問題中比較有效高效的程式設計方法。策略模式 策略模式用於解決業務中不同場景下統一行為的細微差別問題。策略模式遵循 開閉原則 舉個例子來說,在購物車功能中,結算 的時候會根據使用者的不同級別去打折,那麼打折計算 的這一行為就會有不同演...
策略模式(策略列舉)
首先定義乙個介面 package com.yecc.suanfa.strategy created by yecc on 2020 11 16 19 35 public inte ce strategy 定義三個繼承介面的類 package com.yecc.suanfa.strategy crea...
策略模式及Spring整合策略模式
抽象策略類 inte ce sortservice 具體策略類 class insertionsortserviceimpl implements sortservice else arr j 1 tmp return arr 氣泡排序 class bubblesortserviceimpl imp...