天天看點

DesignPattern_Java:Factory Method Pattern

工廠方法模式 Factory Method :(虛拟構造函數模式 Virtual Constructor,多态性工廠模式 Ploymorphic Facoty)

Define an interface for creating an object,but let subclasses decide which class to instantiate.Factory Method lets a class defer instantiation to subclasses.

定義一個建立産品對象的工廠接口。将實際建立性工作推遲到子類中。

抽象工廠角色(Creator):該角色是工廠方法模式的核心。與應用系統無關,不論什麼在建立對象的工廠類必須實作這個接口。

詳細工廠角色(Concrete Creator):該角色實作了抽象工廠接口。含有與應用密切相關的邏輯。而且受到應用程式的調用以建立産品對象。

抽象産品角色(Product):該角色負責定義産品的共性。實作對産品最抽象的定義。

詳細産品角色(Concrete Product):該角色實作抽象産品角色所聲明的接口,工廠方法模式所建立的每個對象都是某個詳細産品角色的執行個體。

應用代碼FactoryMethodDemo.java

工廠方法模式的執行個體

抽象工廠FruitGardener.java

抽象産品Fruit.java

詳細工廠FruitAppleGardener.java

詳細工廠FruitGrapeGardener.java

詳細産品FruitApple.java

詳細産品FruitGrape.java

FruitClientDemo.java

DesignPattern_Java:Factory Method Pattern