## 策略設計模式
###
定義?系列的算法,把它們?個個封裝起來, 并且使它們可相互替換,比如淘寶天貓雙??,正在搞活動有打折的、有滿減的、有返利的等等,這些算法只是?種策略,并且是隨時都可能互相替換的, 我們就可以定義?組算法,將每個算法
都封裝起來,并且使它們之間可以互換。
## 應用場景
###
?王計劃外出旅游,選擇騎???、坐汽?、?機等,每?種旅??式都是?個策略
Java AWT中的LayoutManager,即布局管理器
**如果在?個系統??有許多類,它們之間的區別僅在于它們的?為,那么可以使?策略模式**
不希望暴露復雜的、與算法有關的數據結構,那么可以使?策略模式來封裝算法
###
## 角色
###
Context上下?:屏蔽?層模塊對策略、算法的直接訪問,封裝可能存在的變化
###
Strategy策略??:抽象策略??,是對策略、算法家族的抽象,定義每個策略或算法必須具有的?法和屬性
###
ConcreteStrategy具體策略??:?于實現抽象策略中的操作,即實現具體的算法
###

###
## 具體實現(云效代碼study-java項目當中設計模式當中有代碼案例)
###
比如需求:
?王?試進了??,是電商項?的營銷活動組,負責多個營銷活動,有折扣、優惠券抵扣、滿減等,項?上線后,產品經理找茬,經常新增營銷活動,導致代碼改動多,加班嚴重搞的?王很惱?。
他發現這些都是活動策略,商品的價格是根據不同的活動策略進?計算的,因此?策略設計模式進?了優化,后續新增策略后只要簡單配置就?了,不??動??
###

###

###

###

###
- 設計模式六大原則
- 常見的三大設計模式分類
- 創建型模式之單例模式
- 單例模式之懶漢
- 單例模式之餓漢
- 單例模式之如何選擇懶漢餓漢
- 什么情況下使用單例模式
- 創建型模式之工廠模式
- 簡單工廠模式
- 工廠方法模式
- 抽象工廠模式
- 創建型模式之原型模式
- 創建型模式之建造者模式
- 結構型模式之適配器模式
- 接口的適配器模式
- 類的適配器模式
- 結構型模式之橋接模式
- 結構型模式之橋接模式和適配器模式的區別
- 結構型模式之裝飾器模式
- 結構型模式之代理模式
- 結構模式之外觀模式
- 結構模式之享元模式
- 行為模式之策略模式
- 行為模式之模板模式
- 行為模式之觀察者模式
- 行為模式之責任鏈模式
- 行為模式之命令模式
- 行為模式之迭代器模式
- 行為模式之備忘錄模式
- 行為模式之狀態模式