榆中建設局網(wǎng)站,營銷培訓課程,企業(yè)seo哪些公司好,wordpress 支持中文抽象工廠模式也是一種創(chuàng)建型設計模式,提供了一個創(chuàng)建一系列相關或相互依賴對象的接口,而無需指定它們具體的類【引用自大話設計模式第15章】基本結(jié)構(gòu) 抽象工廠模式包含多個抽象產(chǎn)品接口,多個具體產(chǎn)品類,一個抽象工廠接口和多個具體…- 抽象工廠模式也是一種創(chuàng)建型設計模式,提供了一個創(chuàng)建一系列相關或相互依賴對象的接口,而無需指定它們具體的類【引用自大話設計模式第15章】
- 基本結(jié)構(gòu)
- 抽象工廠模式包含多個抽象產(chǎn)品接口,多個具體產(chǎn)品類,一個抽象工廠接口和多個具體工廠,每個具體工廠負責創(chuàng)建一組相關的產(chǎn)品。
通俗解釋: - 抽象產(chǎn)品接口AbstractProduct: 定義產(chǎn)品的接口,可以定義多個抽象產(chǎn)品接口,比如說沙發(fā)、椅子、茶幾都是抽象產(chǎn)品。
- 具體產(chǎn)品類ConcreteProduct: 實現(xiàn)抽象產(chǎn)品接口,產(chǎn)品的具體實現(xiàn),古典風格和沙發(fā)和現(xiàn)代風格的沙發(fā)都是具體產(chǎn)品。
- 抽象工廠接口AbstractFactory: 聲明一組用于創(chuàng)建產(chǎn)品的方法,每個方法對應一個產(chǎn)品。
- 具體工廠類ConcreteFactory: 實現(xiàn)抽象工廠接口,負責創(chuàng)建一組具體產(chǎn)品的對象,在本例中,生產(chǎn)古典風格的工廠和生產(chǎn)現(xiàn)代風格的工廠都是具體實例。
- 在圖示中:AbstractProductA/B/C 就是抽象產(chǎn)品,ConcreteProductA2/A2/B1/B2/C1/C2就是抽象產(chǎn)品的實現(xiàn),AbstractFactory定義了抽象工廠接口,接口里的方法用于創(chuàng)建具體的產(chǎn)品,而ConcreteFactory就是具體工廠類,可以創(chuàng)建一組相關的產(chǎn)品。

- 基本實現(xiàn)
想要實現(xiàn)抽象工廠模式,需要遵循以下步驟: - 定義抽象產(chǎn)品接口(可以有多個),接口中聲明產(chǎn)品的公共方法。
- 實現(xiàn)具體產(chǎn)品類,在類中實現(xiàn)抽象產(chǎn)品接口中的方法。
- 定義抽象工廠接口,聲明一組用于創(chuàng)建產(chǎn)品的方法。
- 實現(xiàn)具體工廠類,分別實現(xiàn)抽象工廠接口中的方法,每個方法負責創(chuàng)建一組相關的產(chǎn)品。
- 在客戶端中使用抽象工廠和抽象產(chǎn)品,而不直接使用具體產(chǎn)品的類名。
- 應用場景
- 抽象工廠模式能夠保證一系列相關的產(chǎn)品一起使用,并且在不修改客戶端代碼的情況下,可以方便地替換整個產(chǎn)品系列。但是當需要增加新的產(chǎn)品類時,除了要增加新的具體產(chǎn)品類,還需要修改抽象工廠接口及其所有的具體工廠類,擴展性相對較差。因此抽象工廠模式特別適用于一系列相關或相互依賴的產(chǎn)品被一起創(chuàng)建的情況,典型的應用場景是使用抽象工廠模式來創(chuàng)建與不同數(shù)據(jù)庫的連接對象。
- 簡單工廠、工廠方法、抽象工廠的區(qū)別
- 簡單工廠模式:一個工廠方法創(chuàng)建所有具體產(chǎn)品
- 工廠方法模式:一個工廠方法創(chuàng)建一個具體產(chǎn)品
- 抽象工廠模式:一個工廠方法可以創(chuàng)建一類具體產(chǎn)品