框架中的单态
来源:互联网 发布:知豆电动汽车充电宝 编辑:程序博客网 时间:2024/05/01 19:26
用spring的factory.getbean("")方法构造的bean默认是单态的,所以尽量不要在bean中构造实例字段,并在外部对该字段进行修改,在内部对其读取。否则就会出现多错误。推而广之所有单态的类都应该避免使用实例字段。
此外对单态模式来说spring 构造bean用的是单态,struts1中的action 也是单态,servlet也是单态的。从设计模式的角度来讲可以总结出一条规律,一般来说处于控制逻辑的类一般都设计为单态的,而存储数据的类,或称之为状态类都不应设计为单态的(这个很容易想得到)。
但是到了webwork,以及struts2他们当中的action就不是单例的了,这个又有一点例外。用他们的话就是损失了一点性能,而提高了安全。
不妨看一看struts1和webwork的源代码,他们的请求都转向一个控制转向的servlet,这个servlet再根据请求的不同交给不同的action处理,所不同的是,struts1中创建了一个map他将创建的各个action实例存入map中(对于每个action只创建了一个实例),当用到某个具体的action 去处理请求时,便从map中取出该action来处理。而webwork对于一个请求如果要用某个action去处理就直接再创建该action的实例。
此外对单态模式来说spring 构造bean用的是单态,struts1中的action 也是单态,servlet也是单态的。从设计模式的角度来讲可以总结出一条规律,一般来说处于控制逻辑的类一般都设计为单态的,而存储数据的类,或称之为状态类都不应设计为单态的(这个很容易想得到)。
但是到了webwork,以及struts2他们当中的action就不是单例的了,这个又有一点例外。用他们的话就是损失了一点性能,而提高了安全。
不妨看一看struts1和webwork的源代码,他们的请求都转向一个控制转向的servlet,这个servlet再根据请求的不同交给不同的action处理,所不同的是,struts1中创建了一个map他将创建的各个action实例存入map中(对于每个action只创建了一个实例),当用到某个具体的action 去处理请求时,便从map中取出该action来处理。而webwork对于一个请求如果要用某个action去处理就直接再创建该action的实例。
- 框架中的单态
- 框架中的单例模式
- 框架中的单例和多例
- 框架中的单入口和多入口
- php中的单例模式(单态)
- PHP单例模式在MVC框架设计中的应用
- PHP单例模式在MVC框架设计中的应用 (
- 由Spring框架中的单例模式想到的
- Spring框架中的单例模式(源码解读)
- Java中的模式 --单态
- Java中的模式 --单态
- java中的单态(单例)模式
- 浅谈java中的单态设计模式
- 浅谈java中的单态设计模式
- java中的单态类,单态模式
- 【前端框架】Backbone.js在大型单页面应用中的应用实践
- Spring框架中的单例Beans是线程安全的么
- Spring框架中的单例Beans是线程安全的么?
- 游戏内存修改原理
- 博客营销的十二大绝招:如何用博客营销
- 常用JS代码集锦
- 电子邮件工作原理简介(个人整理)
- .net学习推荐网站
- 框架中的单态
- 8772264软考群(软件设计师)交流群
- 用Python遍历文件并搜索文件内容
- ORACLE 中ROWNUM用法总结!
- 《Effective C#》Item 9:区别和认识四个判等函数
- 隐藏纵向滚动条
- 获取指定数组的中值
- ThreadPool in .Net
- Dispose函数的标准实现模式