工廠方法模式有乙個問題就是,類的建立依賴工廠類,也就是說,如果想要拓展程式,必須對工廠類進行修改,這違背了閉包原則,所以,從設計角度考慮,有一定的問題,如何解決?就用到抽象工廠模式,建立多個工廠類,這樣一旦需要增加新的功能,直接增加新的工廠類就可以了,不需要修改之前的**。因為抽象工廠不太好理解,我們先看看圖,然後就和**,就比較容易理解。
舉例如下:(我們舉乙個傳送郵件和簡訊的例子)
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其實這個模式的好處就是,如果你現在想增加乙個功能:發及時資訊,則只需做乙個實現類,實現sender介面,同時做乙個工廠類,實現provider介面,就ok了,無需去改動現成的**。這樣做,拓展性較好!class
test
}
工廠模式三部曲之一 簡單工廠模式
這段時間想要好好了解下工廠模式,從而在園中看了很多博友的關於工廠模式的部落格,受益匪淺.同時也感謝各位博友對知識的無私的分享.知識在於積累,但個人覺得積累知識的最好方式是當自己學懂了某個知識點之後,進行一番總結,將學到的東西再慢慢的推理一遍,再細細的消化一遍,進而轉變為自己的東西.簡單工廠模式 簡單...
單例模式三部曲
class single 構造私有類函式 private static single s new single 把類定義為靜態的 public static single getsingle 例如 class student public void setid int id public strin...
人生三部曲
人生三部曲 童年沙丁魚罐頭似的公共汽車在曬的發燙的柏油路上緩慢地爬著。我 瘦瘦小小的個子在擁擠的人群中喘不過氣來。還要多久呀?人們煩躁而沉悶的氣氛充斥著整個車廂。忽然,我看見一位打扮入時的西裝人士,正悄悄地把手伸入一位老人的口袋。我第一反應就是有小偷!於是大聲脫口而出,一車人都回頭驚悸地看著我,西裝...