首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计方式-工厂方法

2012-10-06 
设计模式--工厂方法今天说说工厂模式 工厂模式定义:提供创建对象的接口.简单的表述工厂的使用,在我们想要

设计模式--工厂方法
  今天说说工厂模式
 工厂模式定义:提供创建对象的接口.
  简单的表述工厂的使用,在我们想要生成某个对象的时候,一般我们都是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";@Overridepublic 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());}}

这个工厂模式代码示例中,在使用的时候可以做很多扩展的,需要你慢慢体会

热点排行