Java设计模式学习1—简单工厂模式

【作者:孟祥月   博客:http://blog.csdn.net/mengxiangyue

我最近开始学习设计模式,自己学习总结的一点东西,拿出来跟大家分享。

我们先举一个例子:我们需要一个苹果和香蕉的对象,我们得先创建两个类。然后我们产生对象的时候,需要分别调用这两个类的构造函数去产生这两个对象。但是我们感觉会烦,我们想要香蕉我告诉你香蕉你给我就可以了,至于你怎么产生的我不关心,但是现在什么都得我自己去做。可能这只是两个水果,那要是多了就更烦了,这时候我们就应该去想怎么简化它了,我们可以产生一个中间类,我们只要告诉这个类的实例,我们需要什么,它就给我们返回什么,这样我们就感觉挺舒服了。这个类就是工厂类,对应的产生的实例就是工厂。

下面就是我们实现上面的这个例子的代码:

//简单工厂模式
//声明一个产品的接口,用于在工厂中返回具体的产品
interface Fruit{}
class Apple implements Fruit
{
	Apple()
	{
		System.out.println("这是一个苹果");
	}
}
class Banana implements Fruit
{
	Banana()
	{
		System.out.println("这是一个香蕉");
	}
}
class Factory
{
	Factory()
	{
		System.out.println("这是一个工厂");
	}
	public static Fruit get(String str)//一般这里需要写成静态的直接调用
	{
		if(str.equals("Apple"))
			return new Apple();
		else
			return new Banana();
	}
}
public class FactoryTest
{
	public static void main(String[] args)
	{
		Factory f = new Factory();//这个显示的创建工厂
		//下面的两种都可以生产一个苹果我们推荐使用第二种
		f.get("Apple");
		Factory.get("Apple");
	}
}
上面的这个例子,自己感觉还是有点欠缺,希望读者能够看懂。如果哪里写错了,还请指出。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值