建立物件之Factory (工廠)

2021-06-16 03:00:52 字數 974 閱讀 4311

factory有兩種理解方式,個人感覺不太一樣,不知道哪種理解方式比較正確

1、引入factory  pattern的目的是為了封裝類的例項化操作

public class factory }

那麼在你的程式中,如果要例項化sample時.就使用

sample samplea=factory.creator(1);

這樣,在整個就不涉及到sample的具體子類,達到封裝效果,也就減少錯誤修改的機會,這個原理可以用很通俗的話來比喻:就是具體事情做得越多,越容易範錯誤

2、factory pattern在父類規定物件的建立方法,但不深入到具體的類名,所有具體的實現都放在了子類,大致可以分為產生物件例項的大綱(框架)和實際產生物件例項的類兩方面

例項:framework中的factory是實現creat的抽象類

public final product creat(string owner)

public abstract product creadproduct(string owner);

famework中的product是僅實現use方法的抽象類

具體的生成和使用方法都用idcard中的類具體實現

idcardfactory:

idcardfactory extends factory 

public synchronized product creadproduct(string owner)

idcarrd:

class idcard extends product

idcard(string owner)

此處建構函式不是public 只有通過同乙個包中的factory才可以產生這個物件例項

public void use()

具體使用:

public static void main(string args)

這樣不必修改framework包中的內容就能夠建立出不同的產品和工廠

factory工廠模式

1.factory模式 兩個重要的功能 1 定義建立物件的介面,封裝了物件的建立 2 使得具體化類的工作延遲到了子類中。factory模式僅僅侷限於一類類 就是說product是一類,有乙個共同的基類 如果我們要為不同類的類提供 乙個物件建立的介面,那就要用abstractfactory了。我們經常...

工廠模式Factory

工廠方法模式完全符合設計模式原則,降低了物件之間的耦合度,而且,工廠方法模式依賴於抽象的架構,將例項化的任務交由了子類實現.比如你想要出門,每次出行你都要根據天氣情況選擇出行方式,如果下雨天,就開自己的私家車,如果晴天就出門坐公車。那麼這裡可以抽取出乙個基類出來。車的基類 public abstra...

Factory 工廠模式

工廠模式有3種。以下的示例 都省略了建構函式與析構函式。一 簡單工廠模式 簡單工廠模式就是只有乙個工廠,所有的產品都有該工廠生產。每一種產品都有乙個對應的type。當需要某種產品時,將該產品的type傳給工廠,然後工廠即會返回該產品。這樣意味著工廠內部必須針對type作判斷,也就是使用乙個switc...