抽象工廠模式的學習體會到了類與類之間的解耦重要性,並且類與類之間的聯絡也因為解耦看著更加的簡潔易懂,首先先了解到抽象工廠的定義是什麼:提供乙個建立一系列相關或相互依賴物件的介面,而無須指定它們具體的類。抽象工廠模式又稱為kit模式,屬於物件建立型模式,是工廠方法模式的公升級版,在有多個業務品種、業務分類時,通過抽象工廠模式產生需要的物件是一種非常好的解決方式。
對於應用我也只是簡單的看著那些例子來的,但是就是這些例子特別的簡潔,易懂所以就用所學的這個對於資料庫訪問與修改的小例子來進行乙個小展示,如有不足之處還請告知,感謝各位。
第一步:建立三個介面用於客戶端的訪問,解除與具體的類之間的耦合
//定義乙個建立訪問department表物件的抽象的工廠介面
inte***ce ifactory
inte***ce iuser
//用於客戶端訪問,解除與具體資料庫訪問的耦合
inte***ce idepartment
第二步: 建立對應的類來實現這個三個介面
//實現ifactory介面,例項化accessuser和accessdepartment
class accessfactory:ifactory
public idepartment createdepartment()
}class accessuser:iuser
public user getuser(int id)
}//實現ifactory介面,例項化sqlserveruser和sqlserverdepartment
class sqlserve***ctory:ifactory
public idepartment createdepartment()
}class sqlserveruser:iuser
public user getuser(int id)
}
其餘類**
//用於訪問sqlsever的department
class sqlserverdepartment:idepartment
public department getdepartment(int id)
}//用於訪問access的dempartment
class accessdepartment:idepartment
public department getdepartment(int _id)
}class user
set
}private string _name;
public string name
set }}
department與user類相似
客戶端**
class program
}
因為通過這三個介面的作用,我們客戶端也不需要去了解到具體是哪個資料庫的就可以直接進行訪問,這也就是抽象工廠的最主要的能力,只需要提供乙個建立好的介面就不需要指定具體的類就可以了,其實你會發現在我們學習的那些模式當中都在圍繞著解耦、封裝、易維護這些需求來的,而且越往後這些模式的功能就更加的人性化,在生活中這些模式其實也是隨處可見的,把這些帶進生活更加的容易理解,自己現在理解的也就這點了,如有不足之處還請指出。 C 設計模式 抽象工廠
我相信看到這段文字的人,都具備了良好的技術功底。但是對於自己編寫的 總是充滿抱怨,希望能夠將自己編寫的 如 子一般先進行有效 的設計,然後在進行建設。那麼這篇文章能夠給你一些思路,這裡特別的說明只是思路,因為你可以根據實際組合改變使用這裡介紹的所有設計模式,而不是 跟遵守規章一樣,一絲不苟。下面我們...
c 設計模式(抽象工廠模式)
good 定義了乙個建立一系列相關或相互依賴的介面,而無需指定它們的具體類。用於交換產品系列,如access sql server 產品的具體類名被具體工廠的實現分離 例 include include include using namespace std 使用者抽象介面 class iuser ...
C 設計模式 抽象工廠模式
為建立一組相關或相互依賴的物件提供乙個介面,而且無需指定他們的具體類。抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的一種形態。抽象工廠模式是指當有多個抽象角色時,使用的一種工廠模式。抽象工廠模式可以向客戶端提供乙個介面,使客戶端在不必指定產品的具體的情況下,建立多個產品族中的產品物件。應用...