設計模式之抽象工廠模式

2021-09-02 12:03:46 字數 875 閱讀 1770

抽象工廠模式

工廠方法模式有乙個問題就是,類的建立依賴工廠類,也就是說,如果想要拓展程式,必須對工廠類進行修改,這違背了閉包原則,所以,從設計角度考慮,有一定的問題,如何解決?就用到抽象工廠模式,建立多個工廠類,這樣一旦需要增加新的功能,直接增加新的工廠類就可以了,不需要修改之前的**。附件中的類圖說明了抽象工廠模式各部分之間的關係。示例**如下:

public class productfactory 

public static product createconsume()

}

import com.zh.******.factory.pattern.product;

import com.zh.******.factory.pattern.productor;

public class productfactoryimpl implements productfactory

}

import com.zh.******.factory.pattern.consumer;

import com.zh.******.factory.pattern.product;

public class consumefactoryimpl implements productfactory

}

public class abstractfactorymain 

}

總結

抽象工廠模式的好處是,如果想增加乙個功能則只需做乙個實現類,實現對應的功能介面,同時做乙個工廠類實現對應的工廠介面就可以了,無需去改動現成的**。這樣做,拓展性較好!

抽象工廠模式 設計模式3之抽象工廠模式

工廠方法模式中工廠只負責同類產品的生產。比如電視機工廠不應該生產汽車。然而現實生活中有很多綜合型的工廠,比如有些電視工廠不僅生產電視機,還會生產與之配套的機頂盒。那麼抽象工廠模式隨之誕生,這種模式將考慮多種型別產品的生產。我們總結下 工廠方法模式只考慮成產同一等級級的產品抽象方法模式考慮生產多等級的...

設計模式之抽象工廠模式

目標 定義了乙個建立一系列相關或相互依賴的介面,而無需指定它們的具體類。用於交換產品系列,如 access sql server 產品的具體類名被具體工廠的實現分離 下面是示例 include include include using namespace std 使用者抽象介面 class ius...

設計模式之抽象工廠模式

定義 abstract factory,提供乙個建立一系列相關或相互依賴物件的介面,而無需制定它們具體的類 場景 有一家生產螺絲螺帽的工廠,螺絲有兩種型號 公的和母的,螺帽也有兩種型號 公的和母的。沒個車間只生產一種螺絲和螺帽。這裡車間就是乙個concretefactory 具體工廠 螺絲和螺帽便是...