策略者模式思想是乙個介面有多個實現類 把介面封裝在乙個封裝類中呼叫的時候建立實現類物件傳入封裝類中 ,用到了向上轉型
1 .策略介面
/**
* 策略介面
*/public
inte***ce
istrategy
2 .實現策略的實現類
/**
* 實現方法
*/public
class
backdoor
implements
istrategy
}public
class
backdoor2
implements
istrategy
}public
class
backdoor3
implements
istrategy
}
3 .放置實現方法的類
/**
* 封裝實現的方法
*/public
class
context
public
void
operate()
}
4 .實現策略實現
public
class main
}
列印結果: 策略者1 策略者2 策略者3
設計模式 策略者設計模式
策略者模式 策略這設計模式幫助構建的物件不必包含自身的邏輯,而是能夠根據需要利用其他物件中的演算法 能夠建立應用於基物件 由自包含演算法組成的可互換物件時,最佳的做法是使用策略者設計模式 class cdusesstrategy public function setstrategycontext ...
大話設計模式 策略者模式
在業務需求中,會有乙個相同的結果,但會用到不用的演算法。比如商場打折 結果都是給商品打折,但是打折的方式不一樣。演算法不一樣。所以就要用策略者模式,用類把這些演算法封裝起來,建立乙個簡單工廠,然後在用乙個context類來與客戶端做交流。如 package effective.strategist ...
設計模式之策略模式
include using namespace std 飛行行為介面類 class flystrategy 高空飛行行為具現類 class heightfly public flystrategy virtual void fly private heightfly 低空飛行行為具現類 class ...