设计模式--工厂方法_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 设计模式--工厂方法

设计模式--工厂方法

 2011/11/24 10:44:25  176915785  http://zerosoft.iteye.com  我要评论(0)
  • 摘要:今天说说工厂模式工厂模式定义:提供创建对象的接口.简单的表述工厂的使用,在我们想要生成某个对象的时候,一般我们都是Aa=newA();用这种方式来生成一个对象。像这种不需要参数的倒还好说,如果需要传入参数。就可能很麻烦和复杂。这个时候我们就可以考虑使用工厂方法了,让工厂方法来封装我们想要生成的对象。要生成对象的统一实现接口packagefactorymethod;/***要生成的对象*/publicinterfaceProduct{}工厂生产出的产品packagefactorymethod
  • 标签:方法 模式 设计 设计模式
  今天说说工厂模式
 工厂模式定义:提供创建对象接口.
  简单的表述工厂的使用,在我们想要生成某个对象的时候,一般我们都是A a=new A();用这种方式来生成一个对象。像这种不需要参数的倒还好说,如果需要传入参数。就可能很麻烦和复杂。这个时候我们就可以考虑使用工厂方法了,让工厂方法来封装我们想要生成的对象。
要生成对象的统一实现接口
package factorymethod;
/**
*  要生成的对象
*/
public interface Product {

}

工厂生产出的产品
package factorymethod;

/**
 * 这个就是工程生产出的产品
 */
public class ConcreteProduct implements Product {

	public ConcreteProduct() {
		super();
	}

	private int level = 10;
	private String target = "FR";

	@Override
	public String toString() {
		return "ConcreteProduct [level=" + level + ", target=" + target + "]";
	}

}

我们的构造器,也就是工厂了
package factorymethod;

/**
 * @author ZERO
 */
public abstract class Creator {

	private Product fProduct;

	public abstract Product factoryMethod();

	public void anOperation() {
		setfProduct(factoryMethod());
	}

	public Product getfProduct() {
		return fProduct;
	}

	public void setfProduct(Product fProduct) {
		this.fProduct = fProduct;
	}

}


为每个不同产品生产的工厂
package factorymethod;

public class ConcreteCreator extends Creator {

	public ConcreteCreator() {
		super();
	}

	public Product factoryMethod() {
		return new ConcreteProduct();
	}

}

最后看看测试类
package factorymethod;

public class FactorymethodTest {
	public static void main(String[] args) {
		ConcreteCreator creator = new ConcreteCreator();
		System.out.println(creator.factoryMethod().toString());
	}
}

这个工厂模式代码示例中,在使用的时候可以做很多扩展的,需要你慢慢体会
发表评论
用户名: 匿名