简单工厂模式(Simple Factory Pattern)

        工厂模式(Factory Pattern)是最常用的一类创建型设计模式,包含简单工厂模式(Simple Factory Pattern)、工厂方法模式(Factory Method Pattern)和抽象工厂模式(Abstract Factory Pattern)。

        它的设计思想基本流程:首先将需要创建的各种不同对象的相关代码封装到不同的类中(具体产品类),而将公共的代码进行抽象和提取后封装在一个抽象产品类中,每一个具体产品类都是抽象产品类的子类;然后提供一个工厂类用于创建各种产品,在工厂类中提供一个创建产品的工厂方法,该方法可以根据传入的参数不同创建不同的具体产品对象;客户端只需调用工厂类的工厂方法并传入相应的参数即可得到一个产品对象。

        简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态方法,因此简单工厂模式又称为静态工厂方法模式(Static Factory Method Pattern)。

        案例:某科技公司想开发一套图表库,可以为应用系统提供各种不同外观的图表

        最初的设计方案:将所有图表的实现代码封装在一个Chart类中。

简单工厂模式(Simple Factory Pattern)_第1张图片

        使用简单工厂模式设计:

        抽象产品类:是工厂类所创建的所有对象的父类(即所有的具体产品类均继承此类),封装了各种产品对象的公有方法(这里是display显示方法,所有的具体产品类都实现此方法)

简单工厂模式(Simple Factory Pattern)_第2张图片

        具体产品类:是简单工厂模式的创建目标,所有被创建的对象都充当这个角色的某个具体类的实例。每个具体产品类都提供一个无参构造函数,实现创建该具体产品对象逻辑。

简单工厂模式(Simple Factory Pattern)_第3张图片

        工厂类:是简单工厂模式的核心,负责实现创建所有产品实例的内部逻辑。提供一个静态方法,根据参数,创建不同的具体产品实例。

简单工厂模式(Simple Factory Pattern)_第4张图片

        config.xml配置文件:配置需要创建的具体产品实例的类型

        XML工具类:读取XML配置文件,返回config.xml配置文件中的配置

简单工厂模式(Simple Factory Pattern)_第5张图片

        客户端:通过XML工具类读取配置文件中的配置,然后通过调用工厂类的静态方法获得具体产品实例。

简单工厂模式(Simple Factory Pattern)_第6张图片

你可能感兴趣的:(Java,简单工厂模式,p2p,c#)