设计模式-工厂模式

设计模式-工厂模式

  工厂模式是为了解耦:把对象的创建和使用的过程分开。具体实现就是当某些方法有共同的行为,但是实现不一样,我们可以把共同的行为提成一个接口,让不同实现的类实现该接口,我们在通过一个工厂类,根据我们传入的参数进行调用我们制定的实现方法。如:支付是一种行为,具体实现有支付宝支付、微信支付、银联支付。当我们要使用支付宝支付的时候就向工厂方法传入一个参数,工厂方法通过一个参数判断调用我们指定的方法。具体代码如下:

一、抽象公共接口(支付)

/**
 *  @author: cyb
 *  @Date: 2020-09-24 0:14
 *  @Description:支付公共行为接口
 */
public interface PayService {
    /***
     * 支付方法
     */
    void pay();
}

一、具体实现方法类一(支付宝支付)

/**
 *  @author: cyb
 *  @Date: 2020-09-24 0:15
 *  @Description:具体实现方法-支付宝支付
 */
public class AliPay implements PayService {
    public void pay() {
        System.out.println("支付宝支付");
    }
}

二、具体实现方法类二(微信支付)

/**
 *  @author: cyb
 *  @Date: 2020-09-24 0:16
 *  @Description:支付的另一实现-微信支付
 */
public class WeixinPay implements PayService {
    public void pay() {
        System.out.println("微信支付");
    }
}

三、工厂方法

/**
 *  @author: cyb
 *  @Date: 2020-09-24 0:11
 *  @Description:创建对象工厂
 */
public class PayFactory {

    public static PayService getPay(int payType){
        PayService payService=null;
        switch (payType){
            case 1:
               return payService=new AliPay();
            case 2:
             return    payService=new WeixinPay();
        }
        return null;
    }
}

四、测试方法

public class test {
    public static void main(String[] args) {
       PayService payService= PayFactory.getPay(1);
       payService.pay();
    }

}

五、打印结果

 

以上内容为本篇博客内容,后续将继续为大家分享后续设计模式。

转载请说明出处,本人博客地址为:https://www.cnblogs.com/chenyuanbo/

 

posted @ 2020-09-24 00:42  陈远波  阅读(171)  评论(0编辑  收藏  举报