struts2技术内幕读书笔记1--设计模式
来源:互联网 发布:台湾清华大学知乎 编辑:程序博客网 时间:2024/05/17 23:07
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.适用于构建对象拥有不确定的内部特性,客户端可以根据其自身需要选择对象构建方式和对象内部特性的业务场景
其实可以在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.适用于构建对象拥有不确定的内部特性,客户端可以根据其自身需要选择对象构建方式和对象内部特性的业务场景
- struts2技术内幕读书笔记1--设计模式
- Struts2技术内幕 读书笔记二 web开发的基本模式
- 《Struts2 技术内幕》读书笔记之一
- 《Struts2技术内幕》读书笔记一
- 《Struts2 技术内幕》读书笔记之二
- Struts2 技术内幕 读书笔记(第二章)
- struts2技术内幕笔记2(struts2概览与设计模式)
- com技术内幕读书笔记1
- MySql技术内幕-读书笔记1
- struts2内幕读书笔记
- Struts2技术内幕 读书笔记一 框架的本质
- Struts2技术内幕 读书笔记三 表示层的困惑
- com技术内幕--读书笔记(1)
- COM技术内幕读书笔记
- Spring 技术内幕-读书笔记
- Struts2技术内幕--经典语录
- struts2技术内幕
- com技术内幕读书笔记2
- java环境变量配置
- 解决apt-get update 告警提示
- 第9周-任务4-二维数组类
- 蜗牛在奔跑
- 黑马程序员_SQL Server学习第二季
- struts2技术内幕读书笔记1--设计模式
- Oracle 连表查询
- VC里面的Error spawning link.exe 或者cl.exe
- 方向
- Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数)
- 第九周任务(2)
- Oracle 临时表
- 黑马程序员_ADO.NET学习笔记
- 视频流传输协议RTP/RTCP/RTSP/HTTP的区别