簡單工廠和工廠方法

簡單工廠一個工廠類根據傳入的參量決定建立出哪種產品類的實例spa

直接一個工廠類,內部經過對象

swith(operator) {接口

    case"+": oper=new AddOperation();//產生對象產品

    ...it

工廠方法模式:定義一個用於建立對象的接口,讓子類決定實例化哪個類。工廠方法使一個類的實例化延遲到其子類。io

定義一個接口 DAO擴展

Add類實現該接口:AddDAO implements DAO{。。。//產生對象}方法


客戶端代碼: DAO dao=new AddDAO();im

                        dao.createOper();//產生對象客戶端

                       ...

這樣若是須要增長一個功能類,簡單工廠須要修改工廠類,而工廠方法只要增長一個類(實現DAO接口)產生相應的功能對象,

這樣對比正解釋了開放-封閉原則,對擴展開放,對修改關閉。

相關文章
相關標籤/搜索