设计模式2: Factory Method

Product.java:

package gendwang.cisco.com;

public interface Product 
{
	public String getType();
}

ConcreteProduct1.java:

package gendwang.cisco.com;

public class ConcreteProduct1 implements Product
{
	public ConcreteProduct1()
	{
		
	}
	
	public String getType()
	{
		return "ConcreteProduct1";
	}
}

ConcreteProduct2.java:

package gendwang.cisco.com;

public class ConcreteProduct2 implements Product
{
	public ConcreteProduct2()
	{
		
	}
	
	public String getType()
	{
		return "ConcreteProduct2";
	}
}

Factory.java:

package gendwang.cisco.com;

public interface Factory 
{
	public Product getInstance();
}

ConcreteFactory1.java:

package gendwang.cisco.com;

public class ConcreteFactory1 implements Factory
{
	public ConcreteFactory1()
	{
		
	}
	
	public Product getInstance()
	{
		return new ConcreteProduct1();
	}
}

ConcreteFactory2.java:

package gendwang.cisco.com;

public class ConcreteFactory2 implements Factory 
{
	public ConcreteFactory2()
	{
		
	}
	
	public Product getInstance()
	{
		return new ConcreteProduct2();
	}
}

Test.java:

package gendwang.cisco.com;

public class Test 
{
	public static void main(String[] args)
	{
		Factory factory1 = new ConcreteFactory1();
		Product product1 = factory1.getInstance();
		System.out.println("One product:" + product1.getType() + " is created");
		
		Factory factory2 = new ConcreteFactory2();
		Product product2 = factory2.getInstance();
		System.out.println("One product:" + product2.getType() + " is created");		
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值