码迷,mamicode.com
首页 > 编程语言 > 详细

java设计模式----工厂模式

时间:2015-12-02 12:25:38      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

软件设计的要点是高内聚低耦合,而工厂模式则满足了这个要求,先上代码

新建一个接口:

package factory;

public interface Interface {
	public void operate();

}

 再建一个实现类:

package factory;

public class Impl implements Interface{

	@Override
	public void operate() {
		System.out.println("实现接口方法");
	}

}

 

工厂方法:

package factory;

public class Factory {
	private Interface in;
	public Interface getInterface() {
		if (in == null) {//如果不存在则创建实例
			in = new Impl();
		}
		return in;
	}
}

 

测试下:

package factory;

/**工厂模式
 * @author mercy
 *
 */
public class Test {
	public static void main(String[] args) {
		Factory f=new Factory();//创建工厂实例
		Interface in=f.getInterface();//通过工厂方法获取Impl实例
		in.operate();
	}

}

 结果:

实现接口方法

 这样看工厂模式的优点是实现接口编程,并没有多大的优势,而如果再新建几个接口的实现类,则如果按照正常方法,需要多新建几个对象的实例

package factory;

public class badTest{
	public static void main(String[] args) {
		Interface i=new Impl();
		i.operate();
	}

}

 如上述方法也可实现相同的结果,但是,如果再加几个实现类,又会多new几个对象实例。这样的话接口和实现类的耦合度就太高了,而且实例过多不利于管理,但是如果统一把

这些实例放工厂中处理,客户端只需要创建一个工厂实例,调用相应的工厂方法获取对象实例,再获取相应的对象方法,这样就不用在客户端new多个对象实例,再客户端上将创建对象过程屏蔽,新增类只需要修改相应的工厂方法类即可。

 

java设计模式----工厂模式

标签:

原文地址:http://www.cnblogs.com/JAYIT/p/5012427.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!