java設計模式 工廠模式

2021-07-04 18:54:42 字數 1239 閱讀 2875

工廠模式:

存在的目的:定義乙個用於建立複雜類的物件的介面。使用工廠模式,降低了類與類之間的耦合關係。分為三種實現方式(類之間的繼承結構不同):簡單工廠模式、工廠方法模式、抽象工廠模式。主要涉及的三種類:呼叫工廠的類,工廠類,產品類。

先看乙個不適用工廠模式的類組織:

class bmw32

}class bmw52

}public

class user

}

簡單工廠模式(****** factory)

乙個工廠類生成一種產品,工廠產品一一對應。**較為簡單,就不貼了。

工廠方法模式(factory method)

乙個工廠能建立多個產品,多個產品抽象為乙個父類。

通過抽象、繼承,使得工廠可以通過父類統一返回各個子類物件。注意工廠類的create方法一般是靜態方法。返回值是物件,當然也可以返回null。

**如下:

class

bmwclass

bmw320

extends

bmw}class

bmw330

extends

bmw}class

factory

}}public

class

user

}

抽象工廠模式(abstract factory)

物件導向的開閉原則

開閉原則(open-closed principle, ocp):乙個軟體實體應當對擴充套件開放,對修改關閉。即軟體實體應盡量在不修改原有**的情況下進行擴充套件。

如果不使用抽象工廠,當增加產品時,需要修改工廠類。所以實現開閉的方法就是在工廠基礎之上抽象,抽象為介面。(當然也增加了**量)

inte***ce

factory

class

factorybmw320

implements

factory

}class

factorybmw330

implements

factory

}class

bmwclass

bmw320

extends

bmw}class

bmw330

extends

bmw}public

class

user

}

JAVA設計模式 工廠模式

一 簡單工廠。它的缺點很明顯,當需要再新增乙個whitehuman類時,需要在工廠類中修改,則 的耦合性很高。建立需要用工廠new的class public inte ce human public class blackhuman implements human public class yel...

java設計模式 工廠模式

靜態工廠模式 為了建立物件而產生 1 有工廠類,有乙個可以根據需求返回建立的物件的方法 2 工廠類中的產生物件的方法的返回值型別是 父類的型別,產生的物件都是子類物件 3 強調 工廠類中的方法的返回值和返回的物件中存在著向上轉型的關係 public class cloth public class ...

Java設計模式 工廠模式

定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。factory method使乙個類的例項化延遲到其子類。define an inte ce for creating an object,but let subclasses decide which class to instantiate....