簡單工廠模式是由乙個物件決定建立出哪一種產品的例項。簡單工廠模式是工廠模式家族中最簡單只用的模式。
檢視下面的**有何不妥之處
我先定義乙個生產的介面,
然後我在用乙個手機類去實現這個介面,
最後,我例項化乙個物件來使用手機工作。
package factory;
public
class
person
}// 建立乙個工廠 介面
inte***ce
iproduct
// 工廠生產了手機
class
phone
implements
iproduct
}
通過上面的**可以看出 , 如果手機類改變,或者出錯,對使用者類會產生很大的影響,甚至會使程式無法正確執行。這就是兩個類耦合了,產生了依賴,當被使用者發生改變了,會影響到使用者,為了解決這個問題,或者較低兩者之間的依賴,我們需要使用簡單工廠設計模式。
我們只需要新建乙個工廠類,把依賴關係轉移一下即可。
介面
inte***ce
iproduct
產品
class
phone
implements
iproduct
}
class
computer
implements
iproduct
}
建立乙個工廠類,把使用者和產品的依賴關係轉移 ****
class
productfactory
elseif(
"computer"
.equals
(name)
)else
}}
使用者類測試
public
class
person
iproduct computer = productfactory.
getproduct
("computer");
if(null!=computer)
}}
結果:
通過簡單工廠設計模式可以看出,即使手機類出錯,也不會影響到使用者類的正常執行,降低了兩者的依賴關係。
Java設計模式 簡單工廠
先看一段書中的 類似的 相信很多人 包括我都寫過。因為作為初學者,對於介面的使用一般都會這樣寫。乙個介面 簡單定義乙個方法test string str 輸出給定 的字串 public inte ce api 實現類,對介面api的實現 public class impl implements ap...
java簡單工廠設計模式
1.概念 就是建立乙個工廠類,對實現了某乙個介面的的一些類進行例項的建立,其實質是根據傳入的引數,動態判斷應該建立 哪乙個產品類的例項。2,舉例 寫乙個娃娃的介面,有兩個產品類,乙個是布娃娃,乙個是芭比娃娃,由工廠物件決定建立出哪乙個類的例項。娃娃介面 娃娃 inte ce doll布娃娃 和 芭比...
java設計模式 簡單工廠模式
大話設計模式 第一章 package ch01 public abstract class operation public void setnumbera double numbera public double getnumberb public void setnumberb double n...