spring设计模式

1、适配器模式

spring中的aop和处理http请求的HandlerAdapter。

aop中:配置的是adviser增强。需要的是interceptor。spring是根据拦截器链来做增强的。所以需要将配置的advisor(adaptee被适配)进行适配为 interceptor。target为AdvisorAdapter。

好处:类似于旧系统的改造。因为老的adviser不能直接用。

dispatcher中的handlerAdapter:被适配者为handler(controller), 而dispatcher不做各种handler类型的判断,只需要一个适配器handlerAdapter,在适配器中判断对应handler的类型,即每一个controller都有对应的适配器。

好处:解耦,易于扩展。

2、代理模式

aop:动态生成代理对象,实现aop的织入功能。

3、观察者模式。

基本定义:观察者,被观察者,事件。

spring中的事件驱动模型就是用的该模式。

spring中想要实现事件模式,就必须实现相应的接口,观察者为 applicationListener,事件为applicationEvent, 被观察者为发布事件的applicationEventPublishxxx。

4、简单工厂

beanfactory。根据名称获取到工厂里的对象。

5、装饰者模式

概念还是好理解:在原有功能基础上添加功能。

需要用到继承,因为是功能的扩展。

应用:jdk中的io。

每个装饰器都需要继承抽象装饰者类,抽象装饰者实现基础类。

这样每个装饰器和被装饰者都是同一种类型。

6、模板方法

使用继承来实现,和继承的区别是,父类规定了整体的逻辑

作用:代码逻辑更加清晰。类似于继承。但是比继承多了一层限制。

应用:jdk中Thread的实现,run方法留给子类实现业务逻辑,父类Thread规定好了线程管理逻辑和业务逻辑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值