one 策略模式 strategy

2022-03-14 08:23:10 字數 751 閱讀 1679

--讀書筆記

定義

策略模式--定義演算法簇,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化獨立於使用演算法的客戶。(看不懂的話,往下,有人話版/我自己的解釋)
相關原則
> 1,變化單獨封裝  

2,多用組合,少用繼承(go中只有組合)

3,**針對介面程式設計,不針對實現程式設計**

>> 意思大概是,在結構部分的**裡,不要出現例項化的東西?(未必對)

> 設計系統的時候,首先要熟悉已有的設計模式,最終要能夠熟練運用;如果有時候找不到設計模式,則採用oo的原則。**要訣:隨時想到系統以後可能需要的變化以及應該變化的原則**

類圖

名白

> 設計模式可以把個人的思考層次提高到模式層面,脫離瑣碎的物件。

> 策略模式,把類的行為封裝為 乙個乙個的,獨立的,可替換的演算法,放到其他類裡。

>> 具體:用內部介面,替換內部類,加乙個setter方法,使該屬性可替換,而放方法的類去實現這個介面(上轉型)。再美其名曰:執行時多型。

> 如面試被問: 介面的作用?

>> 可從四個方面回答:

1,抽象相關的設計時用

2,實現多型,執行時的動態

3,實現彈性的設計。

4,多人開發時的 約定和標準。

> 深入的**下:所謂的用介面實現多繼承的,是怎麼搞的?

> 叫法公升級: 行為-->演算法。

策略 Strategy 模式

strategy 模式也叫策略模式,是由 gof提出的 23種軟體設計模式的一種。strategy 模式是行為模式之一,它對一系列的演算法加以封裝,為所有演算法定義乙個抽象的演算法介面,並通過繼承該抽象演算法介面對所有的演算法加以封裝和實現,具體的演算法選擇交由客戶端決定 策略 strategy 模...

策略模式 Strategy

public context string strategytype df對策略模式的定義是這樣的 它定義了演算法家族,分別封裝起來,讓它們之間可以相互替換,此模式讓演算法的變化不會影響到使用演算法的客戶 main函式 abstract class strategy class concretest...

策略模式 Strategy

定義 定義一組演算法,將每個演算法都封裝起來,並且使他們之間可以互換。型別 行為類模式 結構圖 策略模式的優缺點 策略模式的主要優點有 策略模式的缺點主要有兩個 必須對客戶端 呼叫者 暴露所有的策略類,因為使用哪種策略是由客戶端來決定的,因此,客戶端應該知道有什麼策略,並且了解各種策略之間的區別,否...