設計模式之Factory

2021-05-25 01:54:49 字數 782 閱讀 7501

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

模式名稱:工廠模式

別名:kit

說明:工廠模式包括:工廠方法(factory method) 抽象工廠(abstract factory)

工廠模式就相當於建立例項物件的new,我們經常要根據類class生成例項物件,如a a=new a() 工廠模式也是用來建立例項物件的,所以以後new時就要多個心眼,是否可以考慮實用工廠模式,雖然這樣做,可能多做一些工作,但會給你系統帶來更大的可擴充套件性和盡量少的修改量。

實現工廠模式要具備單個要素,一是介面,二是實現介面的類,三是工廠類,然後我們就可以根據自己的需要,傳遞相應的引數,由工廠來「生產」我們需要的類的物件,而我們不需要提供具體的類的資訊。例如,下面的**:

**中我們定義了乙個抽象類,包括兩個成員numbera和nmberb,以及乙個抽象方法getresult(),下面分別有四個子類繼承了operation類,並且重寫了getresult()方法,來實現具體的功能,緊接著又定義了乙個工廠類operationfactory,該類有乙個方法public static operation createoperation(string operate),接收乙個引數,通過不同的引數來具體實現不同的「生產」,所以最終實現了所需要的結果。

工廠模式的優點是我們可以很容易擴充套件自己的類,比如現在要新增乙個計算求餘的功能,只需要新增以下**:

設計模式之Factory

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

設計模式之Factory

工廠模式就是專門負責例項化大量相同介面的類。簡單的工廠模式用 head first 中的例子就要生產不同的比薩,只需要告訴工廠你要什麼樣的比薩,它就會給你生產出來。這樣的 如下 想一下簡單的工廠模式為我們做了什麼?相當於把生成物件的這個功能分離出去,也就是解耦讓 變得簡單。這樣做還有乙個好處就是,在...

設計模式之Factory模式

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