web应用 中dao的实现类在整个应用中可以只用一个实例么?
web应用中dao的实现类在整个应用中可以只用一个实例么?就是在spring中配置成单例模式,这样做安不安全的?还有,web应用中哪些对象可以做成单例的?搞不明白...
web应用 中dao的实现类在整个应用中可以只用一个实例么?就是在spring中配置成单例模式,这样做安不安全的?还有,web应用中哪 些对象可以做成单例的?搞不明白
展开
2个回答
展开全部
dao的实现类一般不配置成单例模式,可以假设的想,如果把dao配置成单例,在web的生存周期它都存在,那么在用的资源会太大,因为dao不只一两个。一般,dao的实现类在需要的时候才生成调用。dao实现类是逻辑操作,不是存放数据的类,所以不会不安全。
单例模式的优点:
1。实例控制:单例模式防止其它对象对自己的实例化,确保所有的对象都访问一个实例。
2。伸缩性:因为由类自己来控制实例化进程,类就在改变实例化进程上有相应的伸缩性。
根据它的优点:做成单例的一般是存放数据,而且是设计一系列操作的一个实体类或者其他类。比如:购物车;
单例模式的优点:
1。实例控制:单例模式防止其它对象对自己的实例化,确保所有的对象都访问一个实例。
2。伸缩性:因为由类自己来控制实例化进程,类就在改变实例化进程上有相应的伸缩性。
根据它的优点:做成单例的一般是存放数据,而且是设计一系列操作的一个实体类或者其他类。比如:购物车;
追问
那能不能说说WEB的实际应用中哪些对象可以声明为单例的,或者说声明为单例的更加合理呢?有没有什么规律可循呢?
追答
不如:所有对服务器配置信息的访问的类,数据库连接的封装类,等等。
理解下面一段话(具体请百度“单例模式”,了解相关资料):
单例模式,英文是Singleton。主要是为了使得声明为单例的类,在JVM中只有一个实例。这样,所有对于该类的访问都是对这么一个实例的访问。如果你想要某个类在JVM中唯一,那么你就可以应用单例模式。例如,服务器的配置信息,所有对服务器配置信息的访问,都是对这么一个实例的访问,做到统一。
2012-08-28
展开全部
你的控制中有页面传输的变量时,不能用单例
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询