了解策略模式建議大家先看一下這篇
步驟一建立乙個介面
public inte***ce strategy
然後實現對應的介面a和b
public class strategya implements strategy
}
public class strategyb implements strategy
}
建立乙個test類用來呼叫
public class strategytest catch (exception e) }}
當clazzname為strategya時結果為
當clazzname為strategyb時結果為
而對於clazzname可以採用配置檔案讀取的形式,通過配置檔案配置對應的執行策略;
注意clazzname記得要是全路徑名;
對了這個方式還可以把入參設定成物件等複雜的物件型別,具體就是在介面中宣告時宣告,其他一樣,還要注意要是介面宣告方法時的方法作用域
策略模式之策略列舉
在使用策略模式時,我們要建立相應的策略,然後根據不同的場景使用不同的策略,這是可以的,但畢竟那是一堆的策略類,使用起來 的可讀性 擴充套件性也就一般,這種情況下我們可以使用策略模式的公升級版 策略列舉來解決上邊的問題 列舉類 public enum strategyenum sub muti str...
策略模式(策略列舉)
首先定義乙個介面 package com.yecc.suanfa.strategy created by yecc on 2020 11 16 19 35 public inte ce strategy 定義三個繼承介面的類 package com.yecc.suanfa.strategy crea...
Design Pattern之策略模式
策略模式 strategy 它定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。策略模式就是用來封裝演算法的,實踐中,我們發現可以用它來封裝幾乎任何型別的規則,只要在分析過程中聽到需要在不同時間應用不同的業務規則,就可以考慮使用策略模式處理這種...