Java介面 工廠方法設計模式

2021-07-25 06:41:46 字數 1342 閱讀 9494

下面是工廠方法的結構:

package test_1;

inte***ce

service

inte***ce

servicefactory

class implements1 implements

service

public void method2()

}class implements1factory implements

servicefactory

}class implements2 implements

service

public void method2()

}class implements2factory implements

servicefactory

}public

class

factories

public

static void main(string args)

}

下面是輸出結果:

implements1.method1

implements1.method2

implements2.method1

implements2.method2

根據不同介面可以提供不同的實現方法,而具體的實現方法也與工廠方法分離。不明白的朋友多敲敲**就能夠理解了我覺得。

通過匿名類實現的簡化工廠方法設計模式如下:

inte***ce

service

inte***ce

servicefactory

class implements1 implements

service

public void method2()

public

static servicefactory implements1factory = new servicefactory()

};}class implements2 implements

service

public void method2()

public

static servicefactory implements2factory = new servicefactory()

};}public

class

factories

public

static void main(string args)

}

通過匿名類使得**簡單優雅了許多,而且也不再需要具體的servicefactory類了。

Java設計模式 工廠方法

定義乙個用於建立物件的介面,factory method將乙個類的例項化延遲到了子類。工廠方法模式的功能 工廠方法的主要功能是讓父類在不知道具體實現的情況下,完成自身的功能呼叫,而具體的實現延遲到子類來實現。實現成抽象類 工廠方法的實現中,通常父類會是乙個抽象類,裡面包含建立所需物件的抽象方法,這些...

Java設計模式 工廠方法模式

定義乙個用於建立物件的介面,讓子類決定將哪乙個類例項化。factory method 使乙個類的例項化延遲到其子類。package car inte ce public inte ce icar inte ce package car imple import car inte ce.icar in...

Java設計模式 工廠方法模式

工廠方法模式應用背景 客戶類不關心使用哪個具體的類,只關心介面所提供的功能。建立過程比較複雜,例如需要初始化其他關聯的資源類。介面或者抽象類有許多實現類,客戶 需要編寫大量if else邏輯來決定執行時使用哪個具體的實現類。不希望給客戶程式暴露太多的類的內部結構,這樣做可以降低耦合度。優化效能,比如...