首页 > 其他 > 详细

工厂方法模式

时间:2020-06-19 23:39:24      阅读:73      评论:0      收藏:0      [点我收藏+]

名称:

    工厂方法(FactoryMethod)-对象创建型模式。

 

问题:

     定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

    Define an interface for creating an object,but let subclasses decide which class to instantiate.Factory Method lets a class defer instantiation to subclasses.

 

解决方案:

    

1、 模式的参与者

       1、抽象产品(Product):

           -定义了工厂方法所创建的对象的接口

       2、具体产品(ConcreteProduct):

          -实现Product接口

       3、抽象工厂(Creator):

          -声明工厂方法,该方法返回一个Product类型的对象。Creator也可以定义一个工厂方法的缺省实现,它返回一个缺省的ConcreteProduct对象。

          -可以调用工厂方法以创建一个Product对象

       4、具体工厂(ConcreteCreator):

          -重定义工厂方法以返回一个ConcreteProduct实例。

2.实现方式

    

public abstract class Creator {
    public abstract  <T extends Product> T createProduct(Class<T> c);
     
}

 

public class ConcreteCreator extends Creator {
    public <T extends Product> T createProduct(Class<T> c){
             Product product=null;
             try {
                    product = (Product)Class.forName(c.getName()).newInstance();
             } catch (Exception e) {
             }
             return (T)product;         
     }
}

 

工厂方法体现了依赖倒置原则,依赖于抽象product。

 

工厂方法模式

原文:https://www.cnblogs.com/diameter/p/13164546.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!