设计模式--工厂方法

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

这个工厂模式代码示例中,在使用的时候可以做很多扩展的,需要你慢慢体会
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值