大話設計模式 讀書筆記9策略模式

2021-08-19 14:37:01 字數 1383 閱讀 2144

: 大話設計模式–讀書筆記策略模式

策略模式:定義了演算法族,分別封裝,讓他們之間可以相互替換,此模式讓演算法的變化,不會影響到使用演算法的客戶

商場收銀時,如何**,使用打折還是返利,其實都是一種演算法,(演算法本身是一種策略),最重要的是這些演算法是隨時都可能相互替換的,者就是變化點。封裝變化點是物件導向的一種很重要的思想方式。

strategy類 :定義所有支援的演算法的公共介面

abstract class strategy
concretestrateya:封裝了具體的演算法或者行為,繼承於strategy

class concretestrateya implements strategy

}

concretestrateyb:封裝了具體的演算法或者行為,繼承於strategy

class concretestrateyb implements strategy

}

concretestrateyc:封裝了具體的演算法或者行為,繼承於strategy

class concretestrateyc implements strategy

}

context: 用乙個concretestrategy來配置,維護乙個對strategy物件的引用

class context

//上下文介面

public

void

contextinte***ce()

}

客戶端**:

public

static

void

main(string args)

策略模式解析:

策略模式是一種定義一系列演算法的方法,從概念上來看,所有這些演算法完成的都是相同的工作,只是實現不同,他可以以相同的方式定義呼叫所有的演算法,減少了各種演算法類之間的耦合

優點:

1.策略模式的strategy類層次為context定義了一系列的可供重用的演算法或者行為。繼承有助於析取出這些演算法的公 共功能。

2.策略演算法模式的優點是簡化了單元測試,因為每個演算法都有自己的類,可以通過自己的介面單獨測試。

3.策略就是用來封裝演算法,但在實踐中,我們發現可以用它來封裝幾乎任何型別的規則,只要在分析過程中聽到需要在不同時間引用不同的業務規則,就可以使用策略模式處理這種變化的可能性

(抽象工程模式章節—反射簡介)

反射模式寫過了,但是需要的時候還是再看看吧。感覺也需要重新學習了。

大話設計模式讀書筆記 策略模式

策略模式作為一種軟體設計模式,指物件有某個行為,但是在不同的場景中,該行為有不同的實現演算法。比如每個人都要 交個人所得稅 但是 在美國交個人所得稅 和 在中國交個人所得稅 就有不同的算稅方法。策略模式的特點 1.定義了一族演算法 業務規則 2.封裝了每個演算法 3.這族的演算法可互換代替 inte...

大話設計模式讀書筆記之策略模式

大話設計模式讀書筆記之策略模式 1.定義 它定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式的使用,讓演算法的變化不會影響到適應這些演算法的客戶。2.相關的uml類圖 3.意義 策略模式是一種定義一系列演算法的方法,從概念上來講,所有這些演算法完成的都是相同的工作,只是實現不同,它可以...

大話設計模式讀書筆記2 策略模式

策略模式是一種定義一系列演算法的方法,從概念上來看,所有這些演算法完成的都是相同的工作,只是實現不同,它可以以相同的方式呼叫所有的演算法,減少了各種演算法類與使用演算法類直接的耦合。uml 圖 根據 大話設計模式 第二章 商場 這個案例 來簡單的記錄一下策略模式的使用方式 現金收費抽象類 publi...