频道栏目
首页 > 资讯 > 其他 > 正文

工厂方法模式 应用最广

17-03-17        来源:[db:作者]  
收藏   我要投稿

工厂方法模式 应用最广:定义一个用于创建对象的接口,让子类决定实例化哪个类。在任何需要生成复杂对象的地方,都可以使用工厂方法模式。用new就可以完成的创建无需要使用工厂方法模式。

工厂方法四大模块:

抽象工厂角色具体工厂角色抽象产品角色具体产品角色。

这个和下一个模式抽象工厂方法模式里是一样的,都有四类角色。

工厂方法的应用
结合例子来分析吧,汽车厂生产汽车吧,这个模式下假如我们的需求没有那么大,我们只生产国产的东风汽车。他有搭配轮胎和引擎的方法吧。

东风车厂类:

public interface IDongFengFactory{
    IDongFengCar createCar();
}
public class DongFengFactory implements IDongFengFactory{
    public IDongFengCar createCar(){
        return new DongFengCar();   
    }
}

东风汽车类:

public interface IDongFengCar{
    public void createTire();
    public void createEngine();
}
public class DongFengCar implements IDongFengCar{
    public void createTire(){
        system.out.println("我是轮胎");
    }
    public void createEngine(){
        system.out.println("我是引擎");
    }
}

主类调用:

public static void main(String[] args){
    IDongFengFactory df = new DongFengFactory();
    IDongFengCar car = df.createCar();
    car.createTire();
    car.createEngine();
}

运行结果:

我是轮胎
我是引擎

至此一辆东风车就造好了,零件搭配齐全。

总的来说。工厂方法设计还是很实用的,代码系统结构清晰,将要生产的产品具体细节操作封装起来,使用者只关心调用接口就是,不用担心他汽车怎么造的过程。

但是工厂方法模式也有不好的地方就是我们要引入新的产品,比如新增加进口汽车就要重新写的产品类,还要引入新的接口,从而导致整体文件多起来了。

相关TAG标签
上一篇:Java观察者模式
下一篇:C#中的委托和事件
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站