《java與模式》學習系列——抽象原廠模式

來源:互聯網
上載者:User

 

一、抽象原廠模式的結構

所所示:

適用情況:

1、一個系統不應當依賴於產品類執行個體如何被建立、組合和表達的細節,這對於所有
形態的原廠模式都是重要的。

2、這個系統的產品有多於一個的產品族,而系統只消費其中某一族的產品(上面這一條叫做抽象工廠的原始用意)

3、同屬於同一個產品族的產品是在一起使用的,這一約束必須在系統的設計中體現出來。

4、系統提供一個產品類的庫,所有的產品以同樣的介面出現,從而使用戶端不依賴於實現。

二、抽象原廠模式在java中的應用

java AWT

在java的AWT庫中,定義了兩套平等的等級結構;一套是Java構件,以Component為超類,另一套是所謂的peer構件,以ComponentPeer為超類。Java構件向java程式提供一套與作業系統無關的、統一的構件介面;而Peer構件則處理底層的、與作業系統密切相關的功能。在這兩個等級結構之間的,是java.awt.Toolkit類;這個抽象類別在不同的作業系統中有不同的具體子類,並為每一個Peer構件提供了相應的Factory 方法,以建立並且返還一個Peer構件的執行個體。Toolkit就是抽象工廠角色,它的具體實現是具體工廠角色;而各個peer對象就是具體產品角色。Peer對象根據自己的分類形成繼承的等級結構;而根據作業系統劃分成不同的產品族。這種三重介面的架構,叫做Peer架構。顯然Peer架構是橋樑模式的應用。

 

 

聯繫我們

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