zoukankan      html  css  js  c++  java
  • 设计模式-工厂模式

    设计模式-工厂模式

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

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

    /**
     *  @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/

  • 相关阅读:
    SP375 QTREE
    「2017 山东一轮集训 Day5」字符串 (后缀自动机, 拓扑排序)
    [SDOI2016]生成魔咒(后缀自动机)
    bzoj3252: 攻略(贪心)
    bzoj2961 共点圆 (CDQ分治, 凸包)
    [CTSC2012]熟悉的文章 (后缀自动机 单调队列)
    bzoj3622: 已经没有什么好害怕的了
    [SDOI2013]泉(容斥)
    [SHOI2012]信用卡凸包(计算几何)
    CF1139D Steps to One (莫比乌斯反演 期望dp)
  • 原文地址:https://www.cnblogs.com/chenyuanbo/p/13722056.html
Copyright © 2011-2022 走看看