設計模式之Factory 方法模式

來源:互聯網
上載者:User

標籤:

Factory 方法模式:定義一個建立產品對象的工廠介面,將實際建立工作延遲到子類當中。核心工廠類不再負責產品的建立,這樣核心類成為一個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣抽象化的好處是使得Factory 方法模式可以使系統在不修改具體工廠角色的情況下引進新的產品。
Factory(抽象工廠角色):這是Factory 方法模式的核心,與應用程式無關。任何在模式中建立的對象的工廠類必須實現這個介面。
ConcreteFactory(具體工廠角色):這是實現抽象工廠介面的具體工廠類,包含與應用程式密切相關的邏輯,並且受到應用程式調用以建立產品對象。
Product(抽象產品角色):Factory 方法模式所建立的產品對象的共同父類或共同擁有的介面。
ConcreteProduct(具體產品角色):這個角色實現了抽象產品角色所定義的介面。某具體產品有專門的具體工廠建立,它們之間往往一一對應。

Factory 方法模式和簡單原廠模式的區別:

簡單原廠模式:通過傳入的參數決定建立哪一個產品類對象,核心工廠類負責具體產品類對象的建立,這樣導致每次加入新的產品類時需要修改核心工廠類。

Factory 方法模式:核心工廠類只負責定義具體工廠子類必須實現的方法,不再負責具體產品的建立,將實際建立工作延遲到具體工廠子類當中。

設計模式之Factory 方法模式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.