解耦,此二字時刻牢記在心。雖然我現在還不能透徹地理解這兩個字的含義,但心中能有個大概的概念。如**復用。
簡單工廠模式,就是利用繼承和多型來解耦。
以《大話設計模式》中此模式的計算器為例,就是先提出乙個運算父類,具體的運算類繼承自該父類。父類中有計算結果的方法,而子類就負責實現父類中計算結果方法的具體實現。
簡單工廠模式在此處的作用是,使使用者不用關心具體的子類如何生成,將其交給工廠處理,使用的時候只需使用工廠返回的父類進行操作。
運算父類:
public
abstract
class operation
加法子類:
public
class
operationadd
extends
operation
}
乘法子類:
public
class
operationmul
extends
operation
}
工廠類:
public
class operatioonfactory }}
具體使用:
圖1 簡單工廠模式uml圖 來自《大話設計模式》
總結:
優勢:
簡單工廠模式就是使用多型並將多型的具體實現細節封裝到工廠中,使用時不需關心具體的實現細節。
劣勢:
當子類處於不斷變化的情況時,會需要頻繁的改動工廠類,此時會違反開放關閉原則,需要另闢蹊徑了。
tips:
在程式設計中時刻記住,使用時不需要關心實現細節,就要求編寫**時乙個方法只做一件事並取合適的方法名,這樣使用時見名知意。
設計模式學習筆記之簡單工廠模式
所謂簡單工廠模式,即提供建立物件的介面,而具體建立什麼物件,由客戶端決定。比如,我們有ibird這樣乙個抽象類,有chicken和duck這兩個類實現ibird。那麼,如果我們想靈活的建立chicken或ibird,那麼就需要用到簡單工廠模式。factory根據接收到的字串,決定返回的物件。客戶端用...
設計模式之簡單工廠模式學習筆記
簡單工廠模式,又叫做靜態工廠方法模式。屬於建立型工廠模式,但是不屬於23中設計模式。學習簡單工廠模式,是為了更好地學習工廠方法模式。簡單工廠模式,即靜態工廠方法模式,是由乙個工廠物件決定建立出哪一種產品型別的例項。factory工廠類 簡單工廠模式的核心,負責實現建立所有例項的內部邏輯。工廠類中建立...
設計模式 簡單工廠模式(學習筆記)
簡單工廠事實上不是乙個設計模式,比較像一種程式設計習慣!首先看一下 從 中理解這個程式設計習慣。舉個做披薩的樣例 pizza類 public inte ce pizza詳細的披薩cheesepizza public class cheesepizza implements pizza overrid...