1. 程式人生 > >Spring IOC下的工廠模式

Spring IOC下的工廠模式

在Spring IOC容器中,我們需要建立工廠,用來管理我們需要建立的物件,因此這時就需要我們瞭解什麼是工廠,這篇簡單的小短文,可能會幫你入門,如果稍微想要仔細瞭解一下,可以檢視這個微博https://blog.csdn.net/jason0539/article/details/23020989

在面向物件程式設計中,一般來說,我們需要哪個類的物件,就會自己取new 一個類的物件例項。這是根據我們需要什麼,然後自己去建立什麼。

 在一些情況下,我們並不想直接new 一個物件,例如,我們建立一些物件前,需要其他的一系列的步驟,可能會設定這個或獲取這個物件的出事這,選擇生成哪個物件自理;或者這生成這個物件之前,需要先生成這個物件的一些輔助功能的物件。例如我們要建立一個車的物件,我們就需要這個車的資訊物件,或者部件物件,然後使車物件依賴這些物件。可以說是組裝模型,一個大的部件,需要若干個小的部件。而工廠模式就會簡化我們的操作,是我們不必關心構造物件例項的細節和複雜過程,而僅僅是得到這個物件即可。

工廠模式:

(1)簡單工廠模式:我們需要一個物件,會有一個工廠幫我們建立這個物件

(2)工廠方法模式:這個物件會有很多其子物件,我們需要建立很多個具體的工廠,來建立這些子物件

(3)抽象工廠模式:這個物件會需要其他的功能或者物件,即我們是實現除此以外的物件,紀委抽象工廠模式。

 

他們之間的區別:

簡單工廠模式:

     建立一個工廠來製造新的物件

工廠方法模式:

     一個抽象產品類,可以派生出很多具體產品類。

    一個抽象工廠類,可以派生出多個具體工廠類。

 抽象工廠模式:

多個抽象產品類,每個抽象產品類可以派生多個具體的產品類。

一個抽象工廠,可以派生出多個具體工廠類。

區別:
工廠方法模式只有一個抽象產品類,而抽象工廠模式有多個。   
工廠方法模式的具體工廠類只能建立一個具體產品類的例項,而抽象工廠模式可以建立多個。
兩者皆可

 

簡單工廠模式又叫做靜態工廠方法模式,重新命名上就可以看出這個模式一定很簡單。它存在的目的很簡單:定義一個用於建立物件的介面。 

工廠方法模式是去掉了簡單工廠模式中工廠方法的靜態屬性,使其可以子類繼承。這樣子,他可以建立很多這個工廠的子工廠,可以用於更細分工廠來建立不同的物件。