任何可以產生物件的方法或類,都可以稱為工廠。
單例也是一種工廠。
簡單工廠:
靜態工廠:單例
單一產品好擴充套件
產品族好擴充套件
抽象工廠模式的缺點就是
要寫好多類,但對應的可擴充套件性高了
【實現:1.乙個抽象類(抽象工廠),2.不同產品族實現抽象類(具體工廠),3.產品族(例如有子彈,**,坦克)裡的不同產品要對應生成他們的父類-每個相同產品(如子彈)不同特點(如方子彈、圓子彈)的都要繼承其父類(basebullet)】
解決了工廠方法與抽象工廠難以解決的問題,或者說更方便的生成物件了。
本質:將例項物件的建立,都交由spring管理,ioc與di的概念,都是交由spring管理bean的,只是角度不同(觸發反轉的節點不同產生的不同叫法),但本質相同。
!-- ioc:控制反**交由容器反向生成物件 driver --
>
"d"class
="com.lpl.driver"
>
<
/bean>
"tank"
class
="com.lpl.tank"
>
<
!-- di:依賴注入:物件依賴容器產生,並注入所需的屬性物件 driver--
>
"driver" ref=
"d">
<
/property>
<
/bean>
<
/beans>
public
class
main
}
factory工廠模式
1.factory模式 兩個重要的功能 1 定義建立物件的介面,封裝了物件的建立 2 使得具體化類的工作延遲到了子類中。factory模式僅僅侷限於一類類 就是說product是一類,有乙個共同的基類 如果我們要為不同類的類提供 乙個物件建立的介面,那就要用abstractfactory了。我們經常...
工廠模式Factory
工廠方法模式完全符合設計模式原則,降低了物件之間的耦合度,而且,工廠方法模式依賴於抽象的架構,將例項化的任務交由了子類實現.比如你想要出門,每次出行你都要根據天氣情況選擇出行方式,如果下雨天,就開自己的私家車,如果晴天就出門坐公車。那麼這裡可以抽取出乙個基類出來。車的基類 public abstra...
Factory 工廠模式
工廠模式有3種。以下的示例 都省略了建構函式與析構函式。一 簡單工廠模式 簡單工廠模式就是只有乙個工廠,所有的產品都有該工廠生產。每一種產品都有乙個對應的type。當需要某種產品時,將該產品的type傳給工廠,然後工廠即會返回該產品。這樣意味著工廠內部必須針對type作判斷,也就是使用乙個switc...