工廠方法模式差別與簡單工廠模式主要在于,factory中對對象的執行個體化延遲到了子類的factory中,
這也是優于簡單工廠的地方。下面看這個模式的類圖(截自《java與模式》):
示意性代碼:
1
2
3
4
5
6
7
<code>package</code>
<code>com.javadesignpattern.factorymethod;</code>
<code>public</code> <code>interface</code> <code>Creator {</code>
<code> </code>
<code> </code><code>public</code>
<code>Product fatcory();</code>
<code>}</code>
優點:
1. 建立邏輯從用戶端獨立出來,實作了建立邏輯和其餘的邏輯的解耦。
2. 擴充性好:如果我們需要新加一個工廠類的實作的話,原來的代碼不需要動,隻需要新加一個factory類添加建立邏輯。