C 設計模式之 Factory模式

2021-07-02 01:04:35 字數 968 閱讀 5401

今天是決定開始學習一下設計模式的知識,之前對這個方面只是略微的聽說過,沒有真正的了解過這方面的內容,因此覺得有必要進行一些了解,以幫助我在以後的學習中更好的了解物件導向的知識。

先從簡單的入手。factory模式是23種模式中最簡單和最容易入門的模式,因此在這裡先從這個模式入手。

foctory模式,也就叫做工廠模式,這個模式在gof介紹的模式中,包括三種,分別是:簡單工廠模式、工廠方法模式和抽象工廠模式。

在很多的資料中把簡單工廠模式和工廠方法模式放到一起叫做factory模式,而抽象工廠模式則是單獨的乙個設計模式。

在這裡先只介紹factory模式:

簡單工廠模式,是比較簡單的模式,其工作的原理與早期的工廠工作方式是一樣的,也就是說相當於建立乙個共工廠給使用者直接生產產品,其所有的工作都在乙個工廠內完成的,在這裡簡單工廠模式實現只一類產品的需求。

工廠方法模式是在簡單工廠模式的基礎上對其增加了具體工廠實現類作為之前抽象工廠類的子類,以實現不同產品的分工操作,因此這裡在工廠產品增加的前提下,可以很好的對其進行擴充套件。

factory設計模式的使用,很重要的貢獻是:1)定義建立物件的介面或者抽象,封裝了物件的建立。2)把具體類的工作延遲到子類中進行。

按照我自己的理解(本人也是剛剛接觸設計模式,有不足的地方還請見諒),factory模式的作用與幫助就是提供了乙個介面而把具體的實現與之相分離,其實這個過程也是很好理解的,因為對於特定的環境下我們所要實現的操作的功能是會有不同的,因此物件導向的思想中很重要的一點就是要考慮程式設計的多型性,factory模式很好的考慮了這一點。在不同的子類中實現不同的操作,而抽象出公共的屬性在父類中宣告,對外提供的是父類的介面,通過這個介面實現子類工作的具體化。

factory模式的可能還存在不足,也就是說在子類具體例項化乙個函式體時,我們不得不在子類的系統中新增乙個方法來處理這個新建的子類的函式體,那麼這樣介面就可能不會封閉。另一方面factory模式僅僅侷限於一類也就是說工廠類為乙個共同的基類的情況。

(以上只代表本人看法)

設計模式之Factory模式

今天開始學習設計模式,設計模式之於物件導向程式設計的作用就像演算法之於面向過程的程式設計一般重要。首先從factory模式開始。factory模式 它們給一系列有聯絡的物件提供了建立的介面,而不用顯式地明確類名。解決的問題有兩類 1.為了提高內聚,松耦合,我們會抽象出一些類的公共介面以形成公共基類或...

設計模式之Factory

工廠模式主要是 為了建立物件而提供的介面。1.如下是乙個簡單的工廠類 在程式中,如果要例項化sample時.就使用 sample samplea factory.creator 1 就可。2.如下是更高一點的 抽象工廠模式。如果建立物件的方法變得複雜了,如上面的是建立乙個sample物件,這邊要是還...

設計模式之Factory

最近開始對設計模式產生了興趣,於是翻來 四人幫 的 設計模式 來看,發現很難懂,真不是我這小小的本科生能夠輕易理解的,算了,我還是先看看旁人的學習成果吧,拿來研究了一下,發現工程模式並不是很難 當然我只是說思想 挺容易上手的,閒話不多說,總結一下吧。模式名稱 工廠模式 別名 kit 說明 工廠模式包...