美文网首页
常用的设计模式(笔记)——工厂模式

常用的设计模式(笔记)——工厂模式

作者: 红鲤鱼与绿鲤鱼与驴与鱼 | 来源:发表于2022-03-16 15:37 被阅读0次

工厂模式在代码中很常见

简单工厂

比如我们现在有两种支付方式 微信支付、支付宝支付这两种,这样我们就能用工厂模式去创建我们需要的支付方式

/**
 * 支付宝的支付方式
 */
public class AliPay {
    public void pay(){
        System.out.println("支付宝支付");
    }
}

/**
 * 微信的支付方式
 */
public class WeChatPay {
    public void pay(){
        System.out.println("微信支付");
    }
}

有了上面两个支付方式,现在我们还少一个工厂,接下来创建一个工厂类

/**
 * 生产支付式的工厂
 */
public class PayFactory {
    /**
     * 返回微信支付方式
     */
    public WeChatPay createWechat() {
        return new WeChatPay();
    }

    /**
     * 返回支付宝支付方式
     */
    public AliPay createAlipay() {
        return new AliPay();
    }
}

以上就是简单工厂,够简单吧。很明显现在的代码扩展性不是很好

抽象工厂

抽象工厂需要有哪些东西?

  • 1、抽象工厂类
  • 2、具体工厂类
  • 3、抽象产品类
  • 4、具体产品类

还是以上面支付方式为例,微信支付宝 都有pay()方法,所以抽象产品类如下

public interface Pay {
    void pay();
}

具体的产品类

/**
*具体的支付类——微信
*/
public class WechatPay implements Pay {
    @Override
    public void pay() {
        System.out.println("微信支付");
    }
}
/**
*具体的支付类——支付宝
*/
public class Alipay implements Pay {
    @Override
    public void pay() {
        System.out.println("支付宝支付");
    }
}

接下来是重点,抽象工厂类

/**
 * 支付方式的抽象工厂
 */
public abstract class AbstractPayFactory {
    /**
    *创建微信支付方式
    */
    public abstract Pay createWeChatPay();
    /**
    *  创建支付宝支付方式
    */
    public abstract Pay createAlipay();
}

具体的工厂类

public class PayFactory extends AbstractPayFactory {
    @Override
    public Pay createWeChatPay() {
        return new WechatPay();
    }

    @Override
    public Pay createAlipay() {
        return new Alipay();
    }
}

使用方式如下:

    public static void main(String[] args) {
        PayFactory factory = new PayFactory();

        Pay weChatPay = factory.createWeChatPay();
        weChatPay.pay();

        Pay alipay = factory.createAlipay();
        alipay.pay();
    }
}

相关文章

  • 工厂模式

    java设计模式-工厂模式 工厂模式: 工厂模式是java设计模式里最常用的设计模式之一。 工厂模式属于创建型模式...

  • 设计模式之工厂模式

    工厂模式 工厂模式(Factory Pattern)是Java中最常用的设计模式之一,这种设计模式属于创建型模式,...

  • iOS设计模式-工厂模式

    工厂模式分为简单工厂模式,工厂模式、抽象工厂模式三类。 简单工厂模式 1. 定义 简单工厂模式并不是常用的设计模式...

  • 设计模式、第一篇

    常用设计模式 设计模式分类 1.创建型 工厂方法模式(Factory Method)、抽象工厂模式(Abstrac...

  • PHP-浅谈单例模式和工厂模式

    PHP中常用的设计模式有单例模式、工厂模式(简单工厂模式、工厂方法模式和抽象工厂方法模式)、适配模式、策略模式。 ...

  • 设计模式之工厂模式(Factory Pattern)

    工厂模式简介 工厂模式(Factory Pattern)是常用的设计模式之一。这种类型的设计模式属于创建型模式,它...

  • 设计模式-工厂模式

    工厂模式定义: 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式...

  • 设计模式之工厂模式详解(附源代码)

    工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创...

  • 工厂模式

    工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创...

  • 设计模式--简单工厂模式

    什么是工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式...

网友评论

      本文标题:常用的设计模式(笔记)——工厂模式

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