天天看點

設計模式(三) : 建立型模式--工廠方法模式

工廠方法模式差別與簡單工廠模式主要在于,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類添加建立邏輯。