工廠模式三部曲之抽象工廠模式

2021-09-08 19:08:39 字數 907 閱讀 2063

工廠方法模式有乙個問題就是,類的建立依賴工廠類,也就是說,如果想要拓展程式,必須對工廠類進行修改,這違背了閉包原則,所以,從設計角度考慮,有一定的問題,如何解決?就用到抽象工廠模式,建立多個工廠類,這樣一旦需要增加新的功能,直接增加新的工廠類就可以了,不需要修改之前的**。因為抽象工廠不太好理解,我們先看看圖,然後就和**,就比較容易理解。

舉例如下:(我們舉乙個傳送郵件和簡訊的例子)

public

inte***ce

sender

兩個實現類:

public

class mailsender implements

sender

}public

class smssender implements

sender

}

兩個工廠類:

public

class sendmailfactory implements

provider

}public

class sendsmsfactory implements

provider

}

再提供乙個介面:

public

inte***ce

provider

測試類:

public

class

test

}

其實這個模式的好處就是,如果你現在想增加乙個功能:發及時資訊,則只需做乙個實現類,實現sender介面,同時做乙個工廠類,實現provider介面,就ok了,無需去改動現成的**。這樣做,拓展性較好!

工廠模式三部曲之一 簡單工廠模式

這段時間想要好好了解下工廠模式,從而在園中看了很多博友的關於工廠模式的部落格,受益匪淺.同時也感謝各位博友對知識的無私的分享.知識在於積累,但個人覺得積累知識的最好方式是當自己學懂了某個知識點之後,進行一番總結,將學到的東西再慢慢的推理一遍,再細細的消化一遍,進而轉變為自己的東西.簡單工廠模式 簡單...

單例模式三部曲

class single 構造私有類函式 private static single s new single 把類定義為靜態的 public static single getsingle 例如 class student public void setid int id public strin...

人生三部曲

人生三部曲 童年沙丁魚罐頭似的公共汽車在曬的發燙的柏油路上緩慢地爬著。我 瘦瘦小小的個子在擁擠的人群中喘不過氣來。還要多久呀?人們煩躁而沉悶的氣氛充斥著整個車廂。忽然,我看見一位打扮入時的西裝人士,正悄悄地把手伸入一位老人的口袋。我第一反應就是有小偷!於是大聲脫口而出,一車人都回頭驚悸地看著我,西裝...