策略模式(Strategy Pattern)

2021-09-26 21:52:27 字數 1173 閱讀 1818

策略模式是一種定義一系列演算法的方法,從概念上來說所有這些演算法完成的都是相同的工作,只是具體的實現不同,它可以以相同的方法呼叫所有演算法,減少了各種具體演算法類與演算法使用類之間的耦合。策略模式的另乙個優點就是簡化了單元測試,因為每個具體演算法都有自己的類,可以通過自己的介面進行單元測試。

策略模式就是用來封裝不同的演算法的,但在實踐中,可以用它封裝幾乎任何型別的規則,只要在不同時間應用不同的業務規則,就可以考慮使用策略模式。

package designpattern.strategypattern;

public inte***ce cashsuper

package designpattern.strategypattern;

public class cashnormal implements cashsuper

}

package designpattern.strategypattern;

public class cashrebate implements cashsuper

public cashrebate(string rebate)

@override

public double acceptcash(double money)

}

package designpattern.strategypattern;

public class cashreturn implements cashsuper

@override

public double acceptcash(double money)

}

package designpattern.strategypattern;

public class cashcontext

public cashcontext(string type)

}public double getresult(double money)

}

package designpattern.strategypattern;

public class client

}

模式 策略模式

前言 所有的設計模式都是基於程式設計屆前輩們的不斷實踐得出的解決一類問題中比較有效高效的程式設計方法。策略模式 策略模式用於解決業務中不同場景下統一行為的細微差別問題。策略模式遵循 開閉原則 舉個例子來說,在購物車功能中,結算 的時候會根據使用者的不同級別去打折,那麼打折計算 的這一行為就會有不同演...

策略模式(策略列舉)

首先定義乙個介面 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...