每天乙個設計模式(一) 簡單工廠模式

2021-09-22 08:39:07 字數 553 閱讀 3518

建立型模式中的工廠系列,有:簡單工廠模式、工廠方法模式、抽象工廠模式。

簡單工廠模式實現了這樣乙個功能:當你需要什麼,只需要傳入乙個正確的引數,就可以獲取你所需要的物件,而無須知道其建立細節。

假設這樣乙個場景:乙個畫圖系統想要畫出不同圖形(如圓形、矩形、三角形等), 這些圖形類都源自同乙個基類。如果我們希望在使用這些類時,不需要知道這些具體圖形類的名字,只需要知道表示該圖形類的乙個引數,並提供乙個方便的方法,把該引數傳入方法即可返回乙個相應的圖形物件。此時,就可以使用簡單工廠模式

在簡單工廠模式中,可以根據引數的不同返回不同類的例項。簡單工廠模式專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。優點

缺點 簡單工廠模式適用情況包括:

靜態工廠類graphicfactory實現了建立物件的內部邏輯,它根據傳入的引數graphicname決定建立什麼型別的graphic物件。

使用者只需要知道:1.所有的graphic物件都有乙個draw方法;2.通過什麼引數可以獲取需要的graphic物件。不用關注該graphic物件是如何建立的。

每天乙個設計模式(二) 工廠方法模式

建立型模式中的工廠系列,有 簡單工廠模式 工廠方法模式 抽象工廠模式。工廠方法模式在簡單工廠模式上做進一步抽象,實現後的功能是這樣的 當你需要什麼,你就建立生產這個產品的工廠,並用它獲取你需要的物件,不用關注建立細節。場景變化 畫圖系統不再用同乙個工廠來統一負責所有圖形的建立,而是將具體圖形的建立過...

每天乙個設計模式之Factory

這點是使用工廠模式的主要目的。當client需要乙個類的例項時,它並不需要自己去例項化那個類,而是交給工廠去例項化。這樣client就不需要知道這個類是怎麼例項化的了。這樣物件的使用者和物件本身就解耦合了。如何實現 需要注意的是,客戶端既不知道,也不關心被例項化的類是什麼,而只是得到了乙個抽象類。而...

每天乙個設計模式之單例模式

單例模式 確保某個類只有乙個例項,並且只能自行例項化並且向系統提供這個示例。單例模式有幾個特點 單例模式在很多場景都可以使用到,比如執行緒池 快取 日誌物件 印表機或者顯示卡驅動的物件等等,這些場景下,如果有多個例項的話,可能會導致程式的行為異常 資源使用過量等問題的出現。因此,學習單例模式是很有必...