浏览 1267 次
锁定老帖子 主题:设计模式 - 工厂方法
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-09-12
Simple Factory pattern: 将变化的对象创建方法转移到单独的类中。需要传入参数,一般情况下已经够用。唯一的问题就是增加产品类别,需要改动工厂类。扩展优先于修改呀! public Product createProduct(int type) { switch (type) { case 1: return new ProductA(); case 2: return new ProductB(); default: return null; } } Factory Method pattern: 将具体产品的创建延迟到子类工厂创建。子工厂只负责自己产品的创建,上层父工厂不再关心如何产生各种产品。如此一来,便达到了依赖倒置 public interface FactoryMethod { Product createProduct(); } public class ConcreteFactoryMethodA implements FactoryMethod { public Product createProduct() { // TODO Auto-generated method stub return new ProductA(); } } Abstract Factory Method: 有点混淆,与上一个相似,区别在于主要用于多种相似产品的创建,而每一个产品的创建则使用了Factory Method pattern。 public interface AbstractFactory { Product createProduct(); Byproduct createByproduct(); } public class ConcreteAbstractFactoryA implements AbstractFactory { public Product createProduct() { // TODO Auto-generated method stub return new ProductA(); } public Byproduct createByproduct() { // TODO Auto-generated method stub return new ByproductA(); } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |