設計模式 工廠模式

2021-10-14 01:52:05 字數 2101 閱讀 4226

工廠模式分為:

簡單工廠模式:用來生產同一等級結構中的任意產品(對於增加新的產品,需要球蓋已有**)

工廠方法模式:用來生產同一等級結構中的固定產品(支援增加任意產品)

簡單工廠模式**:

測試類:

package com.zsp.******;

public

class

testdemo

}

我們的例項需要具有的特徵:

package com.zsp.******;

public

inte***ce

car

例項工廠:

package com.zsp.******;

public

class

ca***ctory

else

if(carname.

equals

("特斯拉"))

else

}}

具體的例項1:

package com.zsp.******;

public

class

wuling

implements

car}

具體例項2:

package com.zsp.******;

public

class

tesla

implements

car}

工廠方法模式:

測試方法:

package com.zsp.method;

public

class

testdemo

}

例項的特徵:

package com.zsp.method;

public

inte***ce

car

創造乙個所有車的總工廠,將工廠也變成乙個例項:

package com.zsp.method;

public

inte***ce

ca***ctory

車例項:

package com.zsp.method;

public

class

wuling

implements

car}

車例項的工廠:

package com.zsp.method;

public

class

wulingfactory

implements

ca***ctory

}

車例項:

package com.zsp.method;

public

class

tesla

implements

car}

車例項的工廠:

package com.zsp.method;

public

class

teslafactory

implements

ca***ctory

}

相比之下工廠方法的解耦程度比簡單工廠方法高,且如果要創造新的例項不用去修改工廠而是再繼承即可。但是太複雜了相較於簡單工廠模式。

結構複雜度:******

**複雜度:******

程式設計複雜度:******

管理上的複雜度:******

根據設計原則:工廠方法模式!

根據實際業務:簡單工廠模式!

設計模式 工廠模式 抽象工廠模式

建立物件時不會對客戶暴露建立邏輯,並且通過使用乙個共同的介面來指向建立的物件。sept1 建立乙個公共介面,將要對外開放的方法在這裡定義。sept2 建立實現介面的類,用即實現對外開放的類的方法 sept3 建立工廠,提供乙個get方法,這個方法提供返回實現類的物件 建立選擇 sept4 使用,建立...

設計模式 工廠設計模式

用於建立物件的介面,交給子類去實現 我們舉乙個生產nokia的例子 public abstract class nokiaphone先試定義了乙個抽象類,抽象出方法poweronphone 模擬手機開機的動作 public class nokia5200 extends nokiaphone pub...

設計模式 工廠設計模式

工廠模式分為工廠方法模式和抽象工廠模式 工廠方法模式分為 普通工廠模式,就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。多個工廠方法模式,是對普通工廠方法模式的改進,在普通工廠方法模式中,如果傳遞的字串出錯,則不能正確建立物件,而多個工廠方法模式是提供多個工廠方法,分別建立物件。靜態工廠...