設計模式之原廠模式

來源:互聯網
上載者:User

1,什麼是工廠設計模式?

建立一個建立執行個體化類的一個介面,讓子類去決定執行個體化哪一個類.與簡單Factory 方法相比,它讓類的執行個體化延續到了子類.

2,為什麼要使用工廠設計模式?

簡單工廠設計模式之前已經介紹過了,原廠模式是與簡單原廠模式類似,但是也有區別.簡單原廠模式是由一個簡單工廠類直接產生產品對象,而原廠模式則是抽象出一個工廠介面,然後每個產品都有一個該產品的產品工廠繼承自它.那麼它和簡單工廠有什麼區別呢,什麼時候我們用簡單工廠,什麼時候用工廠呢?

我們看UML比較2種模式的區別

這是簡單工廠

接下來是原廠模式

看完這兩個圖區別就一目瞭然了,我們如果需要添加一種燃燒彈類型的子彈,並完成子彈生產過程.如果用簡單工廠去添加需要添加燃燒彈.class然後修改簡單工廠.class,這裡就違背了設計模式的開放-封閉原則,那麼用原廠模式就符合開放封閉原則,它添加燃燒彈.class然後在添加一個燃燒彈工廠繼承自工廠介面.按照這種情況看來,在產品類型變化情況少的情況下我們就用簡單原廠模式,如果產品類型變化多那麼就得用工廠設計模式.

3,怎麼使用工廠設計模式

這個用法並不複雜,UML類圖已經很清晰的展示.所以這裡不再贅述.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.