在策略模式(strategy pattern)中,乙個類的行為或其演算法可以在執行時更改。這種型別的設計模式屬於行為型模式。
在策略模式中,我們建立表示各種策略的物件和乙個行為隨著策略物件改變而改變的 context 物件。策略物件改變 context 物件的執行演算法。
1.抽象類
package2.正常收費子類strategic;
/*** 現金收費抽象類
* @author
wuwuyong *
*/abstract
class
cashsuper
}
package3.打折收費子類strategic;
/*** 正常收費子類
* @author
wuwuyong *
*/public
class cashnormal extends
cashsuper
}
package4.返利收費子類strategic;
/*** 打折收費子類
* @author
wuwuyong *
*/public
class cashrebate extends
cashsuper
public
double acceptcash(double
money)
}
package5.cashcontextstrategic;
/*** 返利收費子類
* @author
wuwuyong *
*/public
class cashreturn extends
cashsuper
public
double acceptcash(double
money)
return
result;}}
package6.測試strategic;
public
class
cashcontext
}public
double getresult(double
money)
}
設計模式 簡單工廠模式 策略模式
名詞理解 工廠 factory 模式我們可以做如下理解,假設有乙個audi的公司生產汽車 似乎也不用假設了 它掌握一項核心的技術就是生產汽車,另一方面,它生產的汽車是有不同型號的,並且在 不同的生產線上進行組裝。當客戶通過銷售部門進行預定後,audi公司將在指定的生產線上為客戶生產出它所需要的汽車。...
設計模式 簡單工廠和策略模式
模式的核心是工廠類,這個類負責產品的建立,而客戶端可以免去產品建立的責任,這實現了責任的分割。但由於工廠類集中了所有產品建立邏輯的,如果不能正常工作的話會對系統造成很大的影響。如果增加新產品必須修改工廠角色的原始碼改工廠角色的原始碼。個人理解就是在乙個工廠內 工廠類 定義好規範標準 父類,虛方法 然...
簡單通俗設計模式之策略模式
策略模式的定義很簡單,那就是根據傳入的引數型別而執行不同的行為的方法。方法包含演算法中不變的部分,策略包含變化的部分,實際上策略就是傳入的引數物件。具體看下例子 定義乙個策略介面 public inte ce processor 實現乙個字串分割的策略 public class splitstrin...