设计模式(二)---工厂方法模式

设计模式(二)---工厂方法模式

        工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口。将实际创建工作推迟到子类其中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责详细工厂子类必须实现的接口,这样进一步抽象化的优点是使得工厂方法模式能够使系统在不改动详细工厂角色的情况下引进新的产品。



抽象工厂源码

public interface Creator
{
	/**
	 * 工厂方法
	 */
	public Product factory();
}

抽象产品源码

public interface Product
{
}

详细工厂1源码

public class ConcreteCreator1 implements Creator
{
	/**
	 * 工厂方法
	 */
	public Product factory()
	{
		return new ConcreteProduct1();
	}
}

详细工厂2源码

public class ConcreteCreator2 implements Creator
{
	/**
	 * 工厂方法
	 */
	public Product factory()
	{
		return new ConcreteProduct2();
	}
}

详细产品1源码

public class ConcreteProduct1 implements Product
{
	public ConcreteProduct1()
	{
		//do something
	}
}

详细产品2源码

public class ConcreteProduct2 implements Product
{
	public ConcreteProduct2()
	{
		//do something
	}
}

客户源码

public class Client
{
	private static Creator creator1,creator2;
	private static Product product1,product2;
	public static void main(String[] args)
	{
		creator1=new ConcreteCreator1();
		product1=creator1.factory();
		creator2=new ConcreteCreator1();
		product2=creator2.factory();
	}
}


原文地址:https://www.cnblogs.com/mfmdaoyou/p/6768117.html