五 工廠方法模式 設計模式學習筆記

2021-08-03 06:57:50 字數 2203 閱讀 4103

(1)抽象工廠角色

是工廠方法模式的核心,與應用程式無關。任何在模式中建立的物件的工廠類必須實現這個介面。

(2)具體工廠角色

這是實現抽象工廠介面的具體工廠類,包含於應用程式密切相關的邏輯,並且受到應用程式呼叫以建立產品物件。

(3)抽象產品角色

工廠方法模式所建立的物件的超型別,也就是產品物件的共同父類或共同擁有的介面。

(4)具體產品角色:

這個角色實現了抽象產品角色所定義的介面。某具體產品有專門的具體工廠建立,它們之間往往一一對應。

(1)需求

根據需要執行對應的運算。

(2)uml類圖

a.演算法工廠抽象類

package com.longinus.fm;

public

abstract

class factory

b.具體演算法產品工廠類
package com.longinus.fm;

public

class

addfactory

extends

factory

}

package com.longinus.fm;

public

class

subfactory

extends

factory

}

package com.longinus.fm;

public

class

mulfactory

extends

factory

}

package com.longinus.fm;

public

class

divfactory

extends

factory

}

c.演算法產品抽象類
package com.longinus.fm;

public

abstract

class operation

public

void

setnumbera(double numbera)

public

double

getnumberb()

public

void

setnumberb(double numberb)

public

abstract

double

getresult();

}

d.具體演算法產品類
package com.longinus.fm;

public

class

addextends

operation

}

package com.longinus.fm;

public

class

subextends

operation

}

package com.longinus.fm;

public

class

mulextends

operation

}

package com.longinus.fm;

public

class

divextends

operation

return getnumbera() / getnumberb();}}

e.測試類
package com

.longinus

.fm;

public class test

}

f.輸出結果
8.0

4.012.0

3.0

設計模式學習筆記(五) 工廠方法模式

2 典型實現 3 例項 4 隱藏 5 主要優點 6 主要缺點 7 適用場景 8 總結 儘管簡單工廠模式實現了物件的建立和使用分離,但是仍然存在以下兩個問題 乙個更好的辦法是使用工廠方法模式。工廠方法模式 定義乙個用於建立物件的介面,讓子類決定將哪乙個類例項化。工廠方法又簡稱工廠模式或虛擬構造器模式或...

C 設計模式學習筆記五 工廠方法模式

工廠方法模式 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,工廠方法使乙個類的例項化延遲到其子類。工廠方法模式在專案中使用得非常頻繁,以至於很多 中都包含工廠方法模式。該模式幾乎盡人皆知,但不是每個人都能用得好。熟能生巧,熟練掌握該模式,多思考工廠方法如何應用,而且工廠方法模式還可以與其他模...

設計模式(五) 工廠方法模式

工廠方法模式,定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類。我們依舊以之前的電腦程式來闡述工廠方法模式 不了解簡單工廠的童鞋戳這裡 1.如下 using system namespace factorymethod set public double n...