package cn.zhao.moshi.strategy;
public
inte***ce idiscountstrategy
package cn.zhao.moshi.strategy;
/*** 按使用者所買物品單價進行折扣
* */
public
class impldiscountbyprice implements idiscountstrategy
return reint ;}}
package cn.zhao.moshi.strategy;
/*** 根據使用者所買的數量進行打折扣
* */
public
class impldiscounttotal implements idiscountstrategy
return reint ;}}
package cn.zhao.moshi.strategy;
/*** 產品資訊的上下文bean
* */
public
class productbean
/*** 進行打折
* */
public
void dodiscount( idiscountstrategy strate )
public string getname()
public
void setname( string name )
public
int getunitprice()
public
void setunitprice( int unitprice )
public
int getcount()
public
void setcount( int count )
}package cn.zhao.moshi.strategy;
public
class teststrategy
}用來封裝一系列演算法,代替一些
if else
的判斷,用
oo思想來實現。
好處可以不用再因為演算法擴充套件而改變客戶程式
,但是如果演算法本來就沒有擴充套件的必要,那麼策略模式的使用未必就比
if else
要好。
要點,只做演算法的封裝,不包含別的資訊。
對策略模式與狀態模式的一點思考
在以前的一片博文裡 我發表了我對設計模式的一點看法 但是今天的乙個案例又讓我對設計模式又有了一點思考 今天在處理這麼乙個問題 元件a是我以前寫的,這個元件會不斷被重用,而今天要寫到的模組b用到了a,現在b有乙個很奇葩的需求,a似乎滿足不了了 怎麼辦?首先我想到的是能不能把問題簡單化,繞過這個問題 經...
關於模板方法和策略模式的一點思考
該隨筆的思想原點,應該算是在兩三年前了。當時和一前同事聊天 不知怎得就聊到了http訪問。一 我記得他和我說過的第一句話,大概是 有沒有已經封裝好的 比較強大的httputil。也可能是受業務的影響 介面對內 我當時接觸到的http訪問,大多比較 規範 至少有乙個介面約束在約定著某些東西,不至於一會...
pushmail的一點總結
從push方法上說有ip push和sms push。ip push就是讓手機始終握著gprs,從而有個ip,讓mail server和手機之間始終有個通路,這樣server一旦有郵件就馬上通過ip push到手機終端上了。sms push就是mail server有郵件了,通知運營商push個簡訊...