設計模式總結(6)

2021-08-30 02:28:23 字數 1951 閱讀 2463

抽象工廠模式是對工廠模式的"抽象",負責建立實現類的工廠

從底層向上,首先建立兩個不同功能的介面,所有具體的實現類都是實現這兩個介面:

inte***ce

shape

inte***ce

color

建立實現這些介面的具體實現類:

class

rectangle

implements

shape

}class

square

implements

shape

}class

circle

implements

shape

}class

redimplements

color

}class

green

implements

color

}class

blue

implements

color

}

建立獲取工廠的抽象類:

abstract

class

abstractfactory

基於不同工廠,具體實現抽象類:

class

shapefactory

extends

abstractfactory

if(shapetype.

equalsignorecase

("circle"))

else

if(shapetype.

equalsignorecase

("rectangle"))

else

if(shapetype.

equalsignorecase

("square"))

return null;

}@override

color getcolor

(string color)

}class

colo***ctory

extends

abstractfactory

@override

color getcolor

(string color)

if(color.

equalsignorecase

("red"))

else

if(color.

equalsignorecase

("green"))

else

if(color.

equalsignorecase

("blue"))

return null;

}}

建立抽象工廠:

class

factoryproducer

else

if(choice.

equalsignorecase

("color"))

return null;

}}

測試:

public

class

abstractfactorypatterndemo

}

結果:

inside circle::draw() method.

inside rectangle::draw() method.

inside square::draw() method.

inside red::fill() method.

inside green::fill() method.

inside blue::fill() method.

設計模式 6 建立型模式總結

建立物件最直接的方法就是利用c 提供的建構函式,這種方法的缺點是讓 繫結了具體的型別 一旦該具體型別需要被替換為新的型別,那麼程式邏輯就不得不修改 更糟糕的是,可能需要到處修改這樣的 open close原則的乙個要旨是要避免這種修改!如前所述,所有的建立型設計模式解決這個問題的方案都是 基於乙個穩...

設計模式學習總結 6 橋模式

今天學習了橋模式,但是,我發現它和裝飾模式有很像的地方。書上對橋模式的定義很容易的想到橋模式可能重點在於兩種不同維度的分離,而裝飾模式更多強調在原有基礎上擴充套件,即使很容易感覺到這一點,但是我還是覺得很不放心,畢竟再次之前都沒有接觸過類似的業務。關於橋模式定義是這樣的 意圖將抽象部分和它的實現部分...

面試題總結6 設計模式

六種常見的設計模式 1 工廠模式 2 單例模式 3 策略模式 4 觀察者模式 5 迭代器模式 6 模版方法模式。1.簡單工廠方法和工廠方法的區別 c 設計模式之1 工廠模式 設計模式 工廠和原型 清晰明了的對比 簡單工廠方法,使用乙個工廠類實現建立介面,不符合開放封閉原則,因為如果新增乙個產品品類,...