工廠方法的優點:
客戶端只需要知道,我只關心所需產品對應的工廠,無需關心建立細節,加入新的產品符合開閉原則,提高可擴充套件性;
工廠方法的缺點:
類的個數不斷增加,類的個數不斷增多,增加複雜度,增加了系統的抽象性,和理解難度
如果新增乙個類的話無需修改原來的**,新增乙個phpvideo類繼承video就可以了,在新增phpvideofactory即可 在test客戶端呼叫,就可以實現
接下來帶大家去看一下jdk原始碼中的體現
這個arraylist的迭代器就是用子類去實現的,使用子類去實現,方便擴充套件,也遵守開閉原則
23 中設計模式
一 設計模式定義 設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。二 設計模式與框架 框架設計中必然要使用設計模式.另外,設計模式有助於對框架結構的理解,成熟的框架通常使用了多種設計模式,如果你熟悉這些設計模式,這會有助於你更好的使用框架。三 ...
23中設計模式
按照目的來分,設計模式可以分為建立型模式 結構型模式和行為型模式。建立型模式用來處理物件的建立過程 結構型模式用來處理類或者物件的組合 行為型模式用來對類或物件怎樣互動和怎樣分配職責進行描述。建立型模式用來處理物件的建立過程,主要包含以下5種設計模式 工廠方法模式 factory method pa...
設計模式 23種設計模式
一 軟體設計模式的概念 軟體設計模式 software design pattern 又稱設計模式,是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。它描述了在軟體設計過程中的一些不斷重 生的問題,以及該問題的解決方案。也就是說,它是解決特定問題的一系列套路,是前輩們的 設計經驗的總結...