大話設計模式讀書筆記 11 抽象工廠模式

2022-04-10 10:57:03 字數 926 閱讀 1068

抽象工廠模式定義:

提供乙個建立一系列相關或相關依賴物件的介面,而無需指定他們具體的類
抽象工廠模式通常是用於建立一族產品,並且這族產品分不同的等級;不同的具體工廠類生產不同等級的一族產品

比如下圖(**於網路)

兩廂車和三廂車稱為兩個不同的等級結構;2.0排量兩廂車和2.0排量三廂車成為同乙個產品族。

與工廠方法模式的區別

工廠的產品全部屬於同乙個等級結構,則屬於工廠方法模式;如果工廠的產品來自多個等級結構,則屬於抽象工廠模式

模式結構

下圖**於網路

abstractfactory:是乙個抽象工廠,包含所有產品建立的的抽象方法

producta和我productb: 是抽象產品,之所以抽象,是因為有兩種不同的實現

**實現

場景:  sqlserver資料庫中有兩user表和department表, 由於客戶需求,需要把sqlserver資料庫換成access資料庫

場景分析: user相當於抽象產品producta, sqlserver資料庫的user相當於producta1

:抽象模式實現

: 簡單工廠+反射+配置檔案

優點:  在類內部對產品族的關聯關係進行定義和描述,而不必專門引入乙個新的類來進行管理

缺點:  擴充套件困難,產品族中需要增加乙個新的產品,則幾乎所有的工廠類都需要進行修改

使用場景:  就是乙個繼承體系中,如果存在著多個等級結構(即存在著多個抽象類),

並且分屬各個等級結構中的實現類之間存在著一定的關聯或者約束,就可以使用抽象工廠模式

讀書筆記 大話設計模式

大話設計模式 的確寫的很不錯。把晦澀解懂的設計模式,講的通俗易懂。邊讀邊用evernote做筆記,把印象深刻的整理了一下。先補習一下uml的圖示法 繼承,介面,組合,依賴,關聯 策略模式 strategy 定義一系列演算法,所有演算法完成的都是相同的工作,只是實現不同。減少演算法與使用類之間的藕合。...

大話設計模式讀書筆記一

1矩形框代表乙個類。如果類是抽象的,那麼要用斜體表示。第二層是字段和屬性。第三次是類的方法和行為。對應的屬性表示為 notation meaning public private protected 乙個例子就是 如果定義乙個介面。要在名稱上面加 介面也用棒棒糖語法表示 下面將類與類之間的關係。知道...

讀書筆記 大話設計模式(上)

最近翻了大話設計模式,裡面的 很多,很值得細細品味,值得借鑑,可惜時間不太夠,就草草記錄了下一些重要的點,還有半本的下個月再寫。工廠模式 策略模式 單一職責。拍照就是拍照,單獨出來比較好。開放 封閉原則。對程式的改動是通過增加新 進行的,而不是更改現有的 一國兩制,考研找工作兩不誤。依賴倒轉原則。提...