設計模式筆記 策略模式

2021-10-01 06:35:06 字數 939 閱讀 4429

策略模式(strategy),定義了一組演算法,將每個演算法都封裝起來,並且使它們之間可以互換,在使用時,根據傳入的型別不同,隨著策略物件改變而改變的 context 物件。策略物件改變 context 物件的執行演算法

策略模式和簡單工廠模式的區別:

工廠是建立型模式,它的作用就是建立物件,簡單工廠模式根據傳入的類名不同建立不同的類

策略模式直接替換相應的方法或者事件,策略是行為型模式,它的作用是讓乙個物件在許多行為中選擇一種行為;

具體實現:

1.定義策略介面或者抽象策略類

2.實現具體的策略或者繼承抽象類實現重寫抽象策略類介面

3.定義context 類,contetx中定義方法根據不同的策略型別操作策略

4.使用的時候根據不同的策略型別替換相應的策略

public inte***ce strategy 

public class operationadd implements strategy

}public class operationmultiply implements strategy

}public class context

public int executestrategy(int num1, int num2)

}public class test

}

1.spring中的abstractfileresolvingresource(implements resource)抽象類,spring 將會提供不同的 resource 實現類,不同的實現類負責不同的資源訪問邏輯

2.dispatchservlet中的初始化元件中,用到了getdefaultstrategies方法,它接受spring應用上下文和具體元件介面型別作為引數,來決定不同元件的預設型別以實現元件的初始化操作

設計模式筆記 策略模式

常用設計模式有23中,分為 建立型模式 主要用於建立物件 1 單例模式 2 工廠方法模式 3 抽象工廠模式 4 建造者模式 5 原型模式 行為型模式 主要用於描述物件或類是怎樣互動和怎樣分配職責 1 模板方法模式 2 中介者模式 3 命令模式 4 責任鏈模式 5 策略模式 6 迭代器模式 7 觀察者...

設計模式筆記(三) 策略模式

策略模式 定義的演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。策略模式是一種定義一種演算法的方法,從概念上看,所有這些演算法完成的都是相同的工作,只是實現不同,它可以以相同的方式呼叫所有演算法,減少了各種演算法類與使用演算法類之間的耦合。優點 第...

設計模式學習筆記 策略模式

我覺得策略模式與工廠方法模式極其相似!策略模式 工廠方法模式 如果單從圖來看,看不出有何相似之處。但看看呼叫方法就知道了 策略模式 context context new context abstractstrategy strategy 採用哪種策略,由呼叫方決定 strategy new con...