factory模式

factory模式,指的是工廠模式。是電子產品的底層系統。

基本介紹

  • 中文名:工廠模式
  • 外文名:Factory mode
設計問題,模式解決方案,

設計問題

在面向對象系統設計中經常可以遇到以下的兩類問題:
1)為了提高內聚(Cohesion)和松耦合(Coupling),我們經常會抽象出一些類的公共接口以形成抽象基類或者接口。這樣我們可以通過聲明一個指向基類的指針來指向實際的子類實現,達到了多態的目的。這裡很容易出現的一個問題n多的子類繼承自抽象基類,我們不得不在每次要用到子類的地方就編寫諸如new ×××;的代碼。這裡帶來兩個問題:1.客戶程式設計師必須知道實際子類的名稱(當系統複雜後,命名將是一個很不好處理的問題,為了處理可能的名字衝突,有的命名可能並不是具有很好的可讀性和可記憶性,就姑且不論不同程式設計師千奇百怪的個人偏好了。),2.程式的擴展性和維護變得越來越困難。
factory模式
2)還有一種情況就是在父類中並不知道具體要實例化哪一個具體的子類。這裡的意思為:假設我們在類A中要使用到類B,B是一個抽象父類,在A中並不知道具體要實例化那一個B的子類,但是在類A的子類D中是可以知道的。在A中我們沒有辦法直接使用類似於new ×××的語句,因為根本就不知道×××是什麼。

模式解決方案

以上兩個問題也就引出了Factory模式的兩個最重要的功能:
1. 定義創建對象的接口,封裝了對象的創建;
2. 使得具體化類的工作延遲到了子類中。
■模式選擇
我們通常使用Factory模式來解決上面給出的兩個問題。在第一個問題中,我們經常就是聲明一個創建對象的接口,並封裝了對象的創建過程。Factory這裡類似於一個真正意義上的工廠(生產對象)。在第二個問題中,我們需要提供一個對象創建對象的接口,並在子類中提供其具體實現(因為只有在子類中可以決定到底實例化哪一個類)。

相關詞條

熱門詞條

聯絡我們