struts2框架涉及的设计模式总结

1.ThreadLocal设计模式:严格意义上说不是一种设计模式,用来解决多线程程序中数据共享问题的一个方案。

web容器中对于同一个servlet对象的多个请求,servlet的service方法将在一个多线程的环境中并行执行,容器采用单实例(单servlet实例)多线程的方式来处理http请求。

2.装饰模式(Decorator ):对象的一种结构模式,能够动态的为一个对象添加一些额外的行为职责。解决过度依赖使用继承来进行对象的功能扩展

HttpServletRequestWrapper和HttpServletResponseWrapper对HttpServletRequest对象和HttpServletResponse对象装饰,在Filter中可以使用继承wrapper的类来修改请求或响应对象。

3.策略模式:针对一组算法货行为特性,将它们抽象到具有共同接口函数的独立抽象类或接口中,从而使得他们可以相互替换。当一个业务场景可能具备多种行为,且多种行为之间可以进行替换时,可讲它们的行为特性的公共部分进行抽象,并最终形成一个统一接口的过程。

Struts2在初始化时需要讲配置形式(xml文件的配置、Properties文件的配置、Annotation的配置)转化为Struts2内置配置对象。这种场景下通过设计一个配置加载的策略接口,应该不同的配置形式设计不同的配置策略实现类。


未完待续。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值