工厂方法模式

一 简介
    工厂方法模式(Factory Method),相比简单工厂模式,更进一步的进行了抽象和提炼.
    1)工厂方法模式的核心是一个抽象工厂类;而简单工厂模式把核心放在一个具体类上
    2)使用接口还是抽象类,取决于共同逻辑是否可以向声纳个移动到抽象工厂角色中
    3)工厂模式返回的类型,应该是抽象的,否则他就失去了多态性,失去了该模式的意义
二 说明
    与静态工厂方法不同,工厂方法模式多了一层抽象工厂的定义.再由具体的工厂去实现这个抽象工厂,进而产生对象实例.
    具体分为:
    1)抽象工厂FruitGardener.java
    2)具体工厂GrapeGardener.java;StrawberryGardener.java;AppleGardener.java
    3)抽象产品Fruit.java
    4)具体产品Grape.java;Strawberry.java;Apple.java
    接口
Fruit.java
FruitGardener.java
    实现
Grape.java
GrapeGardener.java
Strawberry.java
StrawberryGardener.java
Apple.java
AppleGardener.java

三 调用示例
package CreationalPattern.FactoryMethod;

public class TestFactoryMethod {
	public static FruitGardener factory1, factory2, factory3;
	public static Fruit f1, f2, f3;

	public static void main(String[] args) {
		factory1 = new AppleGardener();
		factory2 = new GrapeGardener();
		factory3 = new StrawberryGardener();
		
		f1 = factory1.factory();
		f2 = factory2.factory();
		f3 = factory3.factory();
		
		f1.plant();
		f2.plant();
		f3.plant();
		
	}
}

你可能感兴趣的:(java,apple)