披薩專案:
要方便專案的擴充套件,要便於維護、要能執行時擴充套件。
披薩族設計:
不足之處:
披薩只能prepare/bake/cut/box操作,增加新功能需要更改原始抽象類,程式擴充套件性低。
簡單工廠模式的設計方案:
定義乙個例項化披薩物件的類,封裝建立物件的**,將例項部分與抽象超類分隔開,放在工廠裡提高擴充套件性。
簡單工廠模式:
定義了乙個建立物件的類,由這個類來封裝例項化物件的行為
披薩專案加盟困惑:
需要建立較多的簡單工廠。
工廠方法模式設計方案:
將披薩專案裡的披薩物件例項化功能抽象成抽象方法,在不同加盟店具體實現功能。
工廠方法模式:
定義了乙個建立物件的抽象方法,由子類決定要例項化的類。工廠方法模式將物件的例項化推遲到子類。
抽象工廠模式:
定義了乙個介面用於建立相關或有依賴關係的物件族,而無需明確指定具體類
工廠模式關鍵點:
1、工廠模式的意義
物件例項化與主程式依賴性解耦。
2、三種工廠模式
簡單工廠模式(例項化在簡單類)
工廠方法模式(例項化在子類中實現)
抽象工廠模式(抽象工廠和子工廠,形成工廠族)
3、依賴抽象原則
1)變數不要持有具體類的引用
2)不要讓類繼承自具體類,要繼承自抽象類或藉口
3)不要覆蓋基類中已實現的方法
設計模式學習筆記 4 工廠模式
工廠模式 定義了乙個建立物件的介面,但由子類決定要例項化的類是哪乙個。工廠方法讓類本例項化推遲大子類。設計原則 要依賴抽象,不要依賴具體類。1.定義pizzastore的抽象類 2.定義pizza的抽象類 3.實現pizzastore類 chicagopizzastore nypizzastore ...
設計模式學習筆記 抽象工廠模式
定義 為建立一組相關或相互依賴的物件提供一組介面,而且無需指定它們的具體類。抽象工廠模式是工廠模式的公升級版本,因為它應對的是更加複雜的業務,即當有多個業務品種 業務分類時,通過抽象工廠模式產生需要的物件是一種非常好的解決方式。由於抽象工廠類較為複雜,我覺得使用乙個具體的例子,更能形象的表達這個模式...
設計模式學習筆記 抽象工廠模式
抽象工廠開始之前,我不得不先說一句,關於工廠方法,我以為不太常用來著。而實際上,想到當年在學校,老師在教三層的時候告訴我們,service 與 dao 層必須都要繼承自介面,並提供乙個實現類,只是神秘的一笑告訴我們,這對 有好處,然而一直到了學期結束也不知道有什麼好處。大概也不知道什麼時間,越寫越多...