簡單工廠模式,又叫做靜態工廠方法模式。屬於建立型工廠模式,但是不屬於23中設計模式。學習簡單工廠模式,是為了更好地學習工廠方法模式。
簡單工廠模式,即靜態工廠方法模式,是由乙個工廠物件決定建立出哪一種產品型別的例項。
factory工廠類:簡單工廠模式的核心,負責實現建立所有例項的內部邏輯。工廠類中建立產品類的方法可以被外部呼叫,建立所需的產品物件。
product具體產品類:是建立目標
productx抽象產品類:建立的所有物件的父類,負責描述所有例項所共有的公共介面
還是以膝上型電腦為例吧!
public
abstract
class
computer
//美帝良心想
public
class
lenovocomputer
extends
computer
}
//鐵板熊掌普
public
class
hpcomputer
extends
computer
}
建立各種型別的膝上型電腦物件
public class compute***ctory
return computer;}}
客戶端直接呼叫工廠類的製造方法,並開機
public class userclient
}
優點:使用者直接輸入引數即可得到對應的例項化物件,避免了直接例項化類,降低了耦合度
缺點:可例項化的型別在編譯期間就確定了,增加新的型別意味著要修改工廠,違背了開放封閉原則。該模式需要提前知道所有要生成的型別,如果子類過多或者子類層次過多時不宜使用
1.工廠類負責建立的物件比較少;
2.客戶只需要知道傳入工廠類的引數,不用關心建立物件的邏輯;
設計模式學習筆記之簡單工廠模式
所謂簡單工廠模式,即提供建立物件的介面,而具體建立什麼物件,由客戶端決定。比如,我們有ibird這樣乙個抽象類,有chicken和duck這兩個類實現ibird。那麼,如果我們想靈活的建立chicken或ibird,那麼就需要用到簡單工廠模式。factory根據接收到的字串,決定返回的物件。客戶端用...
設計模式學習筆記之簡單工廠模式
解耦,此二字時刻牢記在心。雖然我現在還不能透徹地理解這兩個字的含義,但心中能有個大概的概念。如 復用。簡單工廠模式,就是利用繼承和多型來解耦。以 大話設計模式 中此模式的計算器為例,就是先提出乙個運算父類,具體的運算類繼承自該父類。父類中有計算結果的方法,而子類就負責實現父類中計算結果方法的具體實現...
設計模式 簡單工廠模式(學習筆記)
簡單工廠事實上不是乙個設計模式,比較像一種程式設計習慣!首先看一下 從 中理解這個程式設計習慣。舉個做披薩的樣例 pizza類 public inte ce pizza詳細的披薩cheesepizza public class cheesepizza implements pizza overrid...