《一天聊乙個設計模式》 抽象工廠

2021-10-21 18:45:08 字數 1572 閱讀 9524

提供乙個介面,用於建立相關的物件家族

抽象工廠模式建立的是物件家族,也就是很多物件而不是乙個物件,並且這些物件是相關的,也就是說必須一起建立出來。而工廠方法模式只是用於建立乙個物件,這和抽象工廠模式有很大不同。

抽象工廠模式用到了工廠方法模式來建立單一物件,abstractfactory 中的 createproducta() 和 createproductb() 方法都是讓子類來實現,這兩個方法單獨來看就是在建立乙個物件,這符合工廠方法模式的定義。

至於建立物件的家族這一概念是在 client 體現,client 要通過 abstractfactory 同時呼叫兩個方法來建立出兩個物件,在這裡這兩個物件就有很大的相關性,client 需要同時建立出這兩個物件。

從高層次來看,抽象工廠使用了組合,即 cilent 組合了 abstractfactory,而工廠方法模式使用了繼承。

一天乙個設計模式(二) 工廠方法模式

工廠方法模式是對簡單工廠模式的一種改進。下面先簡單介紹簡單工廠模式 首先有乙個所有產品的父介面 產品介面 public inte ce product以及多個產品 public class product1 implements product public class product2 imple...

一天乙個設計模式 單例模式

1.餓漢模式public class sprivate static s s news public static s get 執行緒安全,載入時就初始化,根據需求來,此種用法最簡單2.懶漢模式public class sprivate static s s public static s get ...

一天乙個設計模式 建造者模式

這個模式和工廠模式很像,建造者 builder 模式和工廠模式的關注點不同 建造者模式注重零部件的組裝過程,而工廠方法模式更注重零部件的建立過程,但兩者可以結合使用。舉個栗子,stringbuilder public class abstractstringbuilder char c privat...