在工作开发中可能会用到一些设计模式来设计代码,比如对接各个商业银行时都使用一个单笔付款,但是接口字段又不统一,可以考虑工厂模式去创建对象
1.创建统一的支付接口
package com.shineyue.shijimoshi.gongchangmoshi; public interface Pay { /** * 单笔付款 * */ void singlePayment(); }
2.创建中行的单笔付款
package com.shineyue.shijimoshi.gongchangmoshi; public class BOCPay implements Pay { /** * 单笔付款 * * */ @Override public void singlePayment() { System.out.println("中行单笔付款"); } }
3.创建银联的单笔付款
package com.shineyue.shijimoshi.gongchangmoshi; public class UPPay implements Pay { /** * 单笔付款 * * */ @Override public void singlePayment() { System.out.println("银联单笔付款"); } }
4.创建工厂
package com.shineyue.shijimoshi.gongchangmoshi; public class PayFactory { public static Pay singlePayment(String channal){ if (channal==null){ return null; }if (channal.equals("boc")){ return new BOCPay(); }if (channal.equals("up")){ return new UPPay(); } return null; } }
5.测试用例
public class TestSinglePay { public static void main(String[] args) { Pay pay = PayFactory.singlePayment("boc"); pay.singlePayment(); } }