工厂方法模式

作者: 最美时光在路上 | 来源:发表于2016-10-25 22:48 被阅读0次
    1. 抽象工厂类或接口
    public abstract class AbstractFactory {
        public abstract <T extends IProduct> T createProduct(Class<T> c);
    }
    
    1. 抽象工厂类或接口实现类
    public class ConcreteFactory extends AbstractFactory {
        @Override
        public <T extends IProduct> T createProduct(Class<T> c) {
            T product = null;
            try {
                product = (T) Class.forName(c.getName()).newInstance();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return product;
        }
    }
    
    1. 抽象产品类或接口
    public interface IProduct {
        public void doSomething();
    }
    
    1. 抽象产品类或接口实现类
    public class ConcreteProduct1 implements IProduct {
        @Override
        public void doSomething() {
            //具体操作
        }
    }
    
    1. 使用
    IProduct product = new ConcreteFactory().createProduct(ConcreteProduct1.class);
    product.doSomething();
    

    相关文章

      网友评论

        本文标题:工厂方法模式

        本文链接:https://www.haomeiwen.com/subject/wocduttx.html