struts2技术内幕读书笔记1--设计模式

threadLocal设计模式:解决servlet对象不是线程安全的的问题
其实可以在thread local存放更丰富的对象比如Map,那么就不用实例化那么thread local了 
protected final static ThreadLocal<Map<String,Object>> threadContext = new MapThreadLocal();


struts2的结构设计确实很时尚~web容器和MVC逻辑分离
自己实现下web容器,然后MVC留给了xwork来做


装饰模式--
如果要对对象行为(除了getter,setter方法以外的对象方法)进行扩展的话,我们首先想到的就是;
现有对象行为的覆盖--通过新增子类override父类的已有方法
添加新的行为职责----在子类中添加新的方法
但是这样的设计就变成在“编译器”就决定行为特性的设计了,而不是“运行期”这种扩展设计模式。关键是,随着子类越来越多,在java里边,只能单根继承,不能进行多重继承,
所以这样的设计缺乏足够的灵活性。


装饰模式就是为了解决“过度依赖使用继承来进行对象的功能扩展”这个问题而设计的。




构造模式--
适用场景
1.适用于构建对象的构造过程十分复杂、构建对象的初始化对于其内部的对象有着强依赖的业务场景
2.适用于构建对象拥有不确定的内部特性,客户端可以根据其自身需要选择对象构建方式和对象内部特性的业务场景
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值