將對象的使用與對象的創建分開。對象的使用者不負責創建對象,只需知道如何獲取需
要的對象。這樣,當被使用對象的創建過程需要變更或擴展時,對象的使用者無須變動,只要對專門負責創建該對象的對象工廠做必要的變更或擴展即可。
當 BasicPRodUCt 有新的子產品 EXProduct3 要應用到系統時, Factory 的 createProduct()
需要簡單修改,增加一個“ else if ”分支,沒有完全實現“對擴展開放,對修改封閉”。但當明確產品就是有限的幾種時,仍是有效且常用的。
新聞熱點
疑難解答