`
小试牛刀
  • 浏览: 3398 次
  • 性别: Icon_minigender_1
  • 来自: 济南
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

XML中singleton模式 摘

阅读更多
singleton="false" 也就是单例配置模式! 比如配置bean的时候  1有关bean设置为单例还是原型,究竟怎么确定?   2与jsf结合使用时,原来jsf托管的bean的有效范围,怎么在spring的配置中反映出来呢? 设置bean     <bean   id="xx"   class="yy"/>     属性缺省值是true,相当于     <bean   id="xx"   class="yy"   singleton="true"/>         不要单例时,设置singleton="false"     <bean   id="xx"   class="yy"   singleton="false"/>         什么时候设置singleton=false什么时候设置singleton=true,需要结合实际情况分析         一般,对于immutable   class也就是不变类,应该设置为singleton=true,即缺省值         对于mutable   class没有绝对的原则,需要结合实际情况分析 1如果你是想知道怎么在配置文件中配置单实例,ustbzhangwei(wei)说得已经非常明白了,如果你是问什么时候应该用singleton,这个没有定论,看你的业务需求,一般来说,没有全局变量的类(DAO)都应该定义为singleton,有全局变量的,如果其值不可变或者有业务需求,也应该设置为singleton,还有就是不可变类应该设置为singleton。     ustbzhangwei(wei):     “什么时候设置singleton=false什么时候设置singleton=true,需要结合实际情况分析         一般,对于immutable   class也就是不变类,应该设置为singleton=true,即缺省值         对于mutable   class没有绝对的原则,需要结合实际情况分析”     2这个你不用费心,对Spring来说,如果是singleton,那么,就每次get都返回同一个Bean,如果不是,每次get就返回一个新创建的Bean。对jsf来说,它会根据bean的作用域来判断什么时候去调用Spring的get方法。 对于mutable对象,我再补充一下自己的一点浅薄的见识,欢迎大家批评指正         为了方便描述,先假设对象a就是即将讨论的mutable对象     假设引用对象a的对象是b,c,d,...         1)对象a在生命周期中,只被一个对象b引用,那么可以令singleton=true(当然,也可以=false,   但是=true表示更准确)         2)对象a在生命周期中,被多个对象b,c,d,...引用,如果程序期望b,c,d,...共享对象a(即在任意时刻b,c,d,...看到的对象a的状态都一致),那么令singleton=true         3)对象a在生命周期中,被多个对象b,c,d,...引用,如果程序期望b,c,d,...不共享对象a(即b对象修改了引用的a对象的状态,c对象所引用的a对象不能被修改,亦即b引用的a   !=   c引用的a),那么令singleton=false
分享到:
评论

相关推荐

    C++ 实现的singleton 模式

    下面我们将深入探讨如何在C++中实现Singleton模式。 首先,Singleton模式的核心在于控制类的实例化过程,通常通过私有构造函数和静态成员函数来实现。`Singleton.cpp`和`Singleton.h`两个文件中可能包含了以下内容...

    C++完美实现Singleton模式

    ### C++中实现Singleton模式的关键知识点 #### 一、Singleton模式简介 Singleton模式是一种常用的软件设计模式,旨在确保一个类只有一个实例,并提供一个全局访问点。这种模式在系统中经常被用于控制对共享资源...

    Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)

    Java设计模式是面向对象编程...在阅读《Chapter1___Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)》的相关资料时,你可以更深入地学习这些模式的细节,包括适用场景、优缺点以及如何在实际项目中实现。

    (创建型模式)Singleton模式

    Singleton模式是设计模式中的一种创建型模式,它在软件工程中扮演着重要的角色。这个模式的主要目的是确保一个类只有一个实例,并提供一个全局访问点来获取这个唯一的实例。Singleton模式的应用场景通常涉及到系统...

    Java的Singleton模式代码(免资源分)

    在给出的描述中提到“Java的Singleton模式代码”,这提示我们主要关注于如何通过不同的实现方式来创建一个符合Singleton模式的Java类。接下来,我们将详细探讨几种常见的Singleton实现方式及其优缺点。 #### 二、...

    最简单的设计模式学习Singleton模式

    在实际开发过程中,正确理解和运用Singleton模式对于提高代码质量和系统性能有着重要意义。 #### 二、Singleton模式的基本原理 Singleton模式的核心思想是限制类的实例化过程,确保任何时候都只存在一个实例。为了...

    设计模式 创建型模式 Singleton模式(单键)

    很多时候我们都会需要Singleton模式,最常见的比如我们希望整个应用程序中只有一个连接数据库的Connection实例;又比如要求一个应用程序中只存在某个用户数据结构的唯一实例。我们都可以通过应用Singleton模式达到...

    Qt qml Singleton 单例模式

    在Qml中,我们可以通过Qt的Singleton组件来实现这一模式。 首先,让我们理解单例模式的基本概念。在软件工程中,单例模式保证一个类只有一个实例,并提供一个全局访问点。这个设计模式在许多场景下都很实用,比如...

    Singleton模式源程序

    Singleton模式是一种设计模式,它是创建型模式的一种,用于控制类的实例化过程,确保一个类在整个应用程序中只有一个实例存在。这种模式在系统中需要频繁创建和销毁对象,且对象需要共享资源时非常有用,比如配置...

    C#设计模式之Singleton模式

    Singleton模式是软件设计模式中的一种基础模式,它在众多设计模式中占有重要地位,尤其在C#编程中经常被应用。Singleton模式的主要目的是确保一个类只有一个实例,并提供一个全局访问点,使得整个系统在任何地方都能...

    Java线程安全的Singleton模式:深入分析与实现

    在Java编程中,Singleton模式是一种常用的设计模式,它确保一个类只有一个实例,并提供一个全局访问点。线程安全的Singleton模式对于多线程环境尤为重要,因为它可以防止多个线程同时创建多个实例。本文将详细介绍...

    singleton设计模式java实现及对比

    Singleton设计模式是软件工程中最常用的设计模式之一,它的主要目的是确保一个类只有一个实例,并提供全局访问点。在Java中,Singleton模式的实现有多种方式,每种方式都有其优缺点,我们将详细探讨这些实现方法并...

    java Singleton单例模式

    Java中的Singleton(单例模式)是一种常用的软件设计模式,它保证了类只有一个实例,并提供一个全局访问点。这种模式在需要频繁创建和销毁对象的场景中特别有用,因为它可以节省系统资源,例如数据库连接或者线程池...

    Singleton模式

    在实际应用中,应谨慎使用Singleton模式,因为它可能导致系统的耦合度提高,不易于理解和维护。如果确实需要使用,可以选择合适的方式实现,并注意其可能带来的问题。在Java中,还可以通过`java.lang.ref....

    C++CLI中实现singleton模式

    双重检测锁(Double-Checked Locking)实现的Singleton模式在多线程应用中有相当的价值。在ACE的实现中就大量使用ACE_Singleton模板类将普通类转换成具有Singleton行为的类。这种方式很好地消除了一些重复代码臭味,...

    C#面向对象设计模式纵横谈-1.Singleton 单件(创建型模式)

    在提供的"1.Singleton 单件(创建型模式).wmv"视频文件中,可能详细讲解了Singleton模式的概念、实现方式、优缺点以及在C#中的具体应用实例,包括如何在实际项目中适当地使用和避免滥用Singleton模式。观看该视频可以...

    深入浅出单例Singleton模式

    【深入浅出单例Singleton模式】 单例模式是一种在软件设计中常见的设计模式,它的核心目标是确保一个类只有一个实例,并提供一个全局访问点。在Java等面向对象编程语言中,单例模式常用于控制资源的共享,如全局...

    singleton单例模式

    **单例模式**是软件设计模式中的一种,它确保一个类只有一个实例,并提供一个全局访问点。在C++中实现单例模式,主要是为了控制类的实例化过程,避免因多次实例化导致的资源浪费或者状态冲突。这种模式在需要频繁...

    单例模式Singleton(java源码)

    Singleton模式包含的角色只有一个,就是Singleton。Singleton拥有一个私有构造函数,确保用户无法通过new直接实例化它。除此之外,该模式中包含一个静态私有成员变量instance与静态公有方法Instance()。Instance()...

Global site tag (gtag.js) - Google Analytics