策略模式(Strategy Pattern)

2021-10-07 14:14:36 字數 1353 閱讀 6941

在策略模式(strategy pattern)中,乙個類的行為或其演算法可以在執行時更改。這種型別的設計模式屬於行為型模式。我們建立表示各種策略的物件和乙個行為隨著策略物件改變而改變的 context 物件。策略物件改變 context 物件的執行演算法。

建立乙個介面。

/**

* @auther:jack shi

* @date:2020/6/28 20 16

* @version 1.0

*/public

inte***ce

strategy

建立實現介面的實體類。

/**

* @auther:jack shi

* @date:2020/6/28 20 17

* @version 1.0

*/public

class

addimplements

strategy

}

/**

* @auther:jack shi

* @date:2020/6/28 20 18

* @version 1.0

*/public

class

subimplements

strategy

}

/**

* @auther:jack shi

* @date:2020/6/28 20 19

* @version 1.0

*/public

class

mulimplements

strategy

}

建立 context 類。

/**

* @auther:jack shi

* @date:2020/6/28 20 19

* @version 1.0

*/public

class

context

public

intexecuteoperation

(int num1,

int num2)

}

使用 context 來檢視當它改變策略 strategy 時的行為變化。

/**

* @auther:jack shi

* @date:2020/6/28 20 19

* @version 1.0

*/public

class

strategycontextdemo

}

模式 策略模式

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

策略模式(策略列舉)

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