美文网首页
设计模式--简单工厂

设计模式--简单工厂

作者: never_b6a7 | 来源:发表于2021-06-23 11:11 被阅读0次

1.定义接口

public interface PaymentMethod {
    void pay();
}

2.实现接口类1

@Service
public class Alipay implements PaymentMethod {
    @Override
    public void pay(){
        System.out.println("zhifubaopay");
    }
}

3.实现接口类2

@Service
public class BalancePay implements PaymentMethod {
    @Override
    public void pay(){
        System.out.println("balancepay");
    }
}

4.实现接口类3

@Service
public class WeChatpay implements PaymentMethod {
    @Override
    public void pay(){
        System.out.println("wecharpay");
    }
}

4.测试调用1 直接在容器中,根据bean的名字获取需要的对象。

@Test
   public void test123(){
       ConfigurableApplicationContext context = SpringApplication.run(BlinkApplication.class); // 入口class
       String[] beans = context.getBeanDefinitionNames();
        for (String bean:beans) {
            System.out.println("bean:"+bean);
        }
       PaymentMethod paymentMethod = (PaymentMethod) context.getBean("alipay");
       paymentMethod.pay();
   }

5.创建一个工厂,根据所要给定的信息返回相应的bean

@Service
public class PayFactory {
    @Autowired
    private Alipay alipay;
    @Autowired
    private BalancePay balancePay;
    @Autowired
    private  WeChatpay weChatpay;
    public PaymentMethod pay(String paytype){
        switch (paytype){
            case "balancepay":
                return balancePay;
            case "alipay":
                return  alipay;
            case "wechartpay":
                return  weChatpay;
            default:
                System.out.println("zhifu fangh shi error");
        }
        return null;
    }
}

6.测试 使用

@Autowired
   private PayFactory payFactory;
   @Test
   public void testfactory(){
       String paytype="alipay";
       PaymentMethod paymentMethod= payFactory.pay(paytype);
       paymentMethod.pay();
   }

相关文章

  • 设计模式-工厂模式

    设计模式1 设计模式2 工厂模式 工厂模式可简单的分为三类:简单工厂,工厂方法,抽象工厂 简单工厂模式 定义 简单...

  • 设计模式一、单例模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 简单单例(推荐...

  • 设计模式

    设计模式(视频总结) [TOC] 一、简单工厂模式(Simple Factory) 简单工厂模式: 简单工厂模式属...

  • 设计模式四、抽象工厂模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 抽象工厂模式 ...

  • 相近设计模式比较

    设计模式干货: 简单工厂模式 vs. 工厂模式 vs. 抽象工厂模式简单工厂和工厂模式区别? 简单工厂没有多个子类...

  • iOS设计模式-工厂模式

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

  • 设计模式三、工厂模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 工厂模式 在一...

  • Android设计模式:工厂设计模式

    目录 简单工厂模式工厂方法模式抽象工厂模式 简单工厂模式 简单工厂模式是所有工厂模式的基础,不属于23种设计模式范...

  • 简单工厂模式

    Android进阶之设计模式 简单工厂模式 简单工厂模式(又叫作静态工厂方法模式), 其属于创建型设计模式,但并不...

  • 工厂模式理解

    工厂模式分为简单工厂、工厂模式、抽象工厂三种层级概念。简单工厂不属于23种设计模式,抽象工厂才是。 简单工厂 简单...

网友评论

      本文标题:设计模式--简单工厂

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