就這樣學策略模式

2021-10-03 09:30:20 字數 1195 閱讀 2604

第三種設計模式——行為型模式,共11種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式。

先來張圖,看看這11中模式的關係:

第一類:通過父類與子類的關係進行實現。第二類:兩個類之間。第三類:類的狀態。第四類:通過中間類

策略模式(strategy)

策略模式定義了一系列演算法,並將每個演算法封裝起來,使他們可以相互替換,且演算法的變化不會影響到使用演算法的客戶。需要設計乙個介面,為一系列實現類提供統一的方法,多個實現類實現該介面,設計乙個抽象類(可有可無,屬於輔助類),提供輔助函式,關係圖如下:

圖中icalculator提供同意的方法,

abstractcalculator是輔助類,提供輔助方法,接下來,依次實現下每個類:

首先統一介面:

public inte***ce icalculator
輔助類:

public abstract class abstractcalculator 

}

三個實現類:

public class plus extends abstractcalculator implements icalculator 

}

public class minus extends abstractcalculator implements icalculator 

}

public class multiply extends abstractcalculator implements icalculator 

}

簡單的測試類:

public class strategytest 

}

輸出:10

策略模式的決定權在使用者,系統本身提供不同演算法的實現,新增或者刪除演算法,對各種演算法做封裝。因此,策略模式多用在演算法決策系統中,外部使用者只需要決定用哪個演算法即可。

There you go 就這樣了

有時候你提醒別人講話別講太久也是用 there you go.例如有一次班上同學交報告給教授,結果教授還跟他講東講西的,那老美也不客氣,就說,well,i just came by to give you my report,so,there you go 這時教授就知道他不想再講下去了,如果再講下...

2008就這樣過去

2008就這樣晃過去了,回憶這一年,沒有幹任何值得稱道的事。技術到了瓶頸,激情漸漸磨滅。日子似乎又回到了頹廢的大三大四,回到了頹廢的第一年工作時。上班 回家 遊戲 週末 遊戲 最近時不時開始發呆,懷疑是不是有點衰老的傾向。時不時想到現在的年齡,現在正是自己的 時間,按理不應該這樣頹廢,一再告訴自己,...

就這樣單身吧

春季上海的天氣就是這樣的變化無常,陰雨摻合著涼風,不免讓人多了幾分感慨!望著窗外陰沉的天空,我突然間有了一種單身一輩子的衝動。呵呵,那應該是貴族般的生活,用不著考慮生活中過多瑣屑的煩惱,是件很舒服的事情吧!儘管老爸 老媽已經放出話來 不帶女友不准回家,我卻一直頂著不孝的罪名,仍舊是乙個人來乙個人去。...