`
897371388
  • 浏览: 526918 次
文章分类
社区版块
存档分类
最新评论

factory method(工厂方法设计模式)

 
阅读更多

1、工厂方法设计模式主要是核心的工厂类不在去负责产品的创建,而是将具体的创建的工作交给子类去做,而不接触具体应该哪个产品被创建以及如何创建的细节。

2、uml图如下



3、java代码

public abstract class Factory {
public Product create(String owner){
Product p = createProduct(owner);
registerProduct(p);
return p;
}

public abstract Product createProduct(String owner);
public abstract void registerProduct(Product p);
}


public class IDCard extends Product {


private String owner;


public IDCard(String owner) {
this.owner = owner;
System.out.println(owner + "的卡被建立");
}


public void use() {
System.out.println(owner + "的卡被使用");
}
}


public class IDCardFactory extends Factory{
private Vector owners = new Vector();

public Product createProduct(String owner) {
Product p = new IDCard(owner);
return p;
}


public void registerProduct(Product p) {
owners.add((IDCard)p);
}
}


public abstract class Product {
public abstract void use();
}


public class Main {
public static void main(String[] args) {
Factory factory = new IDCardFactory();
Product p = factory.create("aaa");
Product p1 = factory.create("bbb");
p.use();
p1.use();
}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics