美文网首页设计模式C++实现笔记
FACTORY METHOND(工厂方法)-创建型模式

FACTORY METHOND(工厂方法)-创建型模式

作者: lixin_karl | 来源:发表于2019-01-06 14:17 被阅读0次

            工厂模式的意图:定义一个用于创建对象的接口,由子类决定实例化哪个类。FACTORY METHOND 使一个类的实例化延迟到其子类。

    一、实现代码

            话不多说,先放工厂模式的代码,一目了然。

    工厂所要生成的对象 对象创建器

            Creator只提供生成对象的接口,而由它的子类ConcreteCreator决定生成哪个对象。

    生成具体对象操作 运行结果

    二、引入

            简单工厂模式中,将实例化对象的工作推迟到了专门负责创建对象的工厂类中,而我们是知道了所有可能会要创建的产品对象,如果有其他的需求,那么我们必不可少的需要改变工厂源码,这是不允许的。工厂方法由此而产生。

    问题:具体工厂类的创建工作不能满足我们的要求了,创建的工作变化了

    解决思路:哪里变化,封装哪里。把具体工厂封装起来。

    三、应用实例 

            去买车(产品实例),商家根据你的需求来生产车辆(生成产品对象),如果还没有这种车,只需要增加一个团队(增加具体的Creator)再生产一辆车出来(生成具体的产品)。

    四、优缺点

            显而易见的是,用户没提出一个需求,需要增加具体产品实现和工厂实现,增加了开销。

    参考:

    https://www.cnblogs.com/Bobby0322/p/4179921.html

    《设计模式:可复用面向对象软件的基础》

    相关文章

      网友评论

        本文标题:FACTORY METHOND(工厂方法)-创建型模式

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