spring用到的设计模式

1、工厂模式

在spring进行IOC  bean注入的时候用到了工厂模式

其实很简单  就是创建一个接口(接口中定义一个方法,这就是所谓的工厂),然后创建多个实体类来实现这个接口,然后new不通的实体。

public interface Provider {  
    public Sender produce();  
}  
public class SendSmsFactory implements Provider{  
  
    @Override  
    public Sender produce() {  
        return new SmsSender();  
    }  
}  
public class SendMailFactory implements Provider {  
      
    @Override  
    public Sender produce(){  
        return new MailSender();  
    }  
}  

为什么使用工厂模式? 其实很简单当我们用到的类现在需要更改了,我们总不能把所有用到的地方都改一遍吧,如果用了工厂模式就直接在工厂中把这个类改一下然后所有调用到他的地方都不用动,是不是很简单,这也是工厂存在的意义。

 

2、策略模式

spring用到的设计模式_第1张图片

现在有一名客户需要在微信支付和银联支付以及支付宝这三种支付方式中选择一种支付方式来给订单付款,当选择一种支付方式支付成功之后,会得到支付的具体信息是否支付成功,以及支付的金额是多少

简单来说就是 三个方法都是支付功能,但是算法不同,这就是策略模式。

那么在spring中如何用了策略模式呢?这里举个最简单的例子

spring用到的设计模式_第2张图片

3、代理模式

静态代理:

说白了就是自己写个接口和实现类然后在写个test类去实现接口并且实现上面个类里的方法和逻辑。

spring用到的设计模式_第3张图片

动态代理:

动态代理是一个意思,只不过实现的接口是java内部的接口,各种jar包中的

spring用到的设计模式_第4张图片

你可能感兴趣的:(面试积累)