为什么使用单例?

Posted weidiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么使用单例?相关的知识,希望对你有一定的参考价值。

把一个类的一切方法都写成静态就可以了,为什么需要单例?

静态类缺乏可扩展性,而普通类能够方便的重写某些函数从而对类进行定制。

Java Web中的Servlet为什么使用单例?

从Servlet部分开始,框架将处理请求的权限交给程序员。如果框架传给程序员的是单例,那么程序员自己可以很容易的实现多例;而如果框架传给程序员的是多例,那么程序员自己在不需要多例的时候也只得被迫使用多例。
单例效率比多例高。
单例进可攻(实现多例),退可守(保持单例较高效率,避免重复创建对象开销)。

许多库再将逻辑处理权限交给程序员的时候都是通过单例的方式,这是一种比较良好的设计。
SpringMVC中Controller使用默认使用单例,但是可以配置成多例。Struts中Action默认是多例,无论如何无法弄成单例(即便你真的不需要多例)。

以上是关于为什么使用单例?的主要内容,如果未能解决你的问题,请参考以下文章

为什么使用单例模式?

单例模式单例模式精讲(上)

单例模式

单例模式-唯一实例

设计模式单例模式精讲(上)

为什么使用单例模式