zoukankan      html  css  js  c++  java
  • 工厂方法模式


    是什么?

    怎么用?

    适用哪些情况?


    工厂方法模式:

      在不指定对象具体类型的情况下创建对象。

      主要目的是创建对象!!!

    以下情况可用工厂方法模式:

      1、创建对象需要大量重复的代码

      2、创建对象时需要用到其他的信息,而这些信息不应该包含在这个类中

      3、创建对象的生命周期需统一管理

    原理:

      Product 是个接口,所有产品都需要实现这个接口。

      ConcreteProduct 是具体产品类,实现了Product接口。在这个类中,调用工厂方法创建对象。

      Creator 是普通类,它实现了所有的方法,但不实现工厂方法。

      ConcreteCreator 是继承了Creator类,它实现了具体的工厂方法,供ConcreteProduct具体产品类调用。

    维基百科code例子:

    比如:

      有个Button表示按钮类,另外有两个它的子类WinButton和MacButton类,分别表示Windows下的按钮类和MacOS下的按钮类,则具体实现为:

    interface ButtonFactory{
        abstract Button createButton();
    }
    ButtonFactory
    class WinButtonFactory implements ButtonFactory{
        Button createButton(){
            return new WinButton();
        }
    }
    WinButtonFactory
    class MacButtonFactory implements ButtonFactory{
        Button createButton(){
            return new MacButton();
        }
    }
    MacButtonFactory

    实际中的应用:

      javax.xml.parsers.DocumentBuilderFactory

      javax.xml.parsers.SAXParserFactory

  • 相关阅读:
    OpenCV(一)
    python中的协程(一)
    python中的协程(三)
    ubuntu18.04 与 python
    js高级
    Django学习笔记5
    Django学习笔记6
    MongoDB 4.03简易使用教程
    python中的协程(二)
    js 词法分析
  • 原文地址:https://www.cnblogs.com/Mr-Wenyan/p/10205133.html
Copyright © 2011-2022 走看看