1. 程式人生 > >【設計模式】學習進度

【設計模式】學習進度

包含 creat rod eth 什麽 method 觀察 不同 是什麽

1、策略模式:定義了算法族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化獨立於使用算法的客戶。

eg 鴨子

2、觀察者模式:定義了對象之間的一對多依賴,這樣一來,當一個對象改變狀態時,它的所有依賴者都會收到通知並自動更新。

eg 氣象臺

3、裝飾對象:動態地將責任附加到對象上。若要擴展功能,裝飾者提供了比繼承更有彈性的替代方案。

  裝飾者和被裝飾者具有共同的超類。

eg starbuzz

4、工廠模式

所有工廠模式都用來封裝對象的創建。

(1)簡單工廠:只是把具體制造不同種類pizza的過程放到工廠裏。

(2)工廠方法模式(Factory Method):定義了一個創建對象的接口,但由子類決定要實例化的類是哪一個。工廠方法讓類把實例化推遲到子類。

通過讓子類決定該創建的對象是什麽,來達到將對象創建的過程封裝的目的。

eg 不同地方做不同地方特色口味的pizza

  創建者Creator:通常包含依賴子抽象產品的代碼,而抽象產品由子類制造,創建者不需要真的知道在制造哪種具體產品。

  產品類Product

  產品類和創建者類平行。

(3)抽象工廠模式:提供一個接口,用於創建相關或依賴對象的家族,而不需要明確指定具體類。

  每一個具體工廠都能生產一個產品家族。客戶創建產品時,只需要使用某一個具體工廠,而不需實例化任何產品對象。

eg 不同地區有不同的工廠來制造不同的調料(調料包括很多不同種類,也就是產品家族)

5、單件模式:確保一個類只有一個實例,並提供一個全局訪問點。

【設計模式】學習進度