首页 > 编程语言 > 详细

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

时间:2015-12-02 12:24:12      阅读:246      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!