策略模式
strategy模式也叫策略模式是行為模式之一,它對一系列的演算法加以封裝,為所有演算法定義乙個抽象的演算法介面,並通過繼承該抽象演算法介面對所有的演算法加以封裝和實現,具體的演算法選擇交由客戶端決定(策略)。strategy模式主要用來平滑地處理演算法的切換 。
策略(演算法)抽象。
各種策略(演算法)的具體實現。
策略的外部封裝類,或者說策略的容器類。根據不同策略執行不同的行為。策略由外部環境決定。
策略模式的缺點有:
1. 客戶端必須知道所有的策略類,並自行決定使用哪乙個策略類。這就意味著客戶端必須理解這些演算法的區別,以便適時選擇恰當的演算法類。換言之,策略模式只適用於客戶端知道所有的演算法或行為的情況。
2. 策略模式造成很多的策略類。有時候可以通過把依賴於環境的狀態儲存到客戶端裡面,而將策略類設計成可共享的,這樣策略類例項可以被不同客戶端使用。換言之,可以使用享元模式來減少物件的數量。
密碼88888
**:包1:
public class mainclass
}public inte***ce strategy
public class md5strategy implements strategy
}public class mdsstrategy implements strategy
}public class context
public void encrypt()
}
包2:
package com.ibeifeng.strategy;
public class mainclass
}package com.ibeifeng.strategy;
public inte***ce strategy
package com.ibeifeng.strategy;
public class strategya implements strategy
}package com.ibeifeng.strategy;
public class strategyb implements strategy
return num; }}
package com.ibeifeng.strategy;
public class context
public double cost(double num)
}
後續更新中。。。
qq**流
Java23種設計模式 策略模式(四)
策略模式 用乙個排序來說一下策略模式 常用七種 氣泡排序 選擇排序 插入排序 希爾排序 快速排序 歸併排序 堆排序用乙個排序的例項來解釋策略模式 用陣列排序抽出策略模式 author 向平 public class xpsortedutil xpprint arr private static vo...
Java23種設計模式
定義 設計模式 design pattern 是一套反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了可重用 讓 更容易被他人理解 保證 可靠性。單例模式,特點 全域性只有乙個例項。定義 單例模式,也叫單子模式,是一種常用的軟體設計模式。在應用這個模式的時候,單例物件的類必須...
Java23種設計模式
建立型模式,共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式。結構型模式,共七種 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式。行為型模式,共十一種 策略模式 模板方法模式 觀察者模式 迭代子模式 責任鏈模式 命令模式 備忘錄模 式 狀態模式 訪問者模式 中...