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