策略模式(Strategy)

2021-10-02 08:14:31 字數 1017 閱讀 1363

定義一系列的演算法,把每乙個演算法封裝起來,並且使它們可相互替換。

在策略模式(strategy pattern)中,乙個類的行為或其演算法可以在執行時更改。這種型別的設計模式屬於行為型模式。

策略模式的角色:

抽象策略角色(strategy):策略類,通常由乙個介面或者抽象類實現

環境角色(context):持有乙個策略類的引用,最終給客戶端呼叫

抽象策略角色:

package com.wuychn.strategy;

public inte***ce strategy

具體策略角色:

package com.wuychn.strategy;

public class operationadd implements strategy

}

package com.wuychn.strategy;

public class operationsubstract implements strategy

}

package com.wuychn.strategy;

public class operationmultiply implements strategy

}

環境角色:

package com.wuychn.strategy;

public class context

public int executestrategy(int num1, int num2)

}

測試**:

package com.wuychn.strategy;

public class test

}

工廠模式是建立型的設計模式,它接受指令,建立出符合要求的例項;而策略模式是行為型的,它接受已經建立好的例項,實現不同的行為。

原文:

策略 Strategy 模式

strategy 模式也叫策略模式,是由 gof提出的 23種軟體設計模式的一種。strategy 模式是行為模式之一,它對一系列的演算法加以封裝,為所有演算法定義乙個抽象的演算法介面,並通過繼承該抽象演算法介面對所有的演算法加以封裝和實現,具體的演算法選擇交由客戶端決定 策略 strategy 模...

策略模式 Strategy

public context string strategytype df對策略模式的定義是這樣的 它定義了演算法家族,分別封裝起來,讓它們之間可以相互替換,此模式讓演算法的變化不會影響到使用演算法的客戶 main函式 abstract class strategy class concretest...

策略模式 Strategy

定義 定義一組演算法,將每個演算法都封裝起來,並且使他們之間可以互換。型別 行為類模式 結構圖 策略模式的優缺點 策略模式的主要優點有 策略模式的缺點主要有兩個 必須對客戶端 呼叫者 暴露所有的策略類,因為使用哪種策略是由客戶端來決定的,因此,客戶端應該知道有什麼策略,並且了解各種策略之間的區別,否...