策略模式的一點自我總結

2021-04-20 08:17:49 字數 1187 閱讀 2080

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個簡訊...