社区
设计模式
帖子详情
那位高手解释一下有状态的单例模式
king_wjb
2008-04-02 05:57:14
那位高手解释一下有状态的单例模式。
这个状态怎么持有、怎么改变?改变后,所有使用这个单例的状态是否都改变了?
最好能举个例子,谢谢!
...全文
215
9
打赏
收藏
那位高手解释一下有状态的单例模式
那位高手解释一下有状态的单例模式。 这个状态怎么持有、怎么改变?改变后,所有使用这个单例的状态是否都改变了? 最好能举个例子,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gaoteng1984
2008-07-18
打赏
举报
回复
通过Observer模式可以通知到“所有持有这个单例的对象们”,通知其状态改变。
纯单例模式,只有1个对象,自然只有1个状态。
如果使用了Copy-On-Write,就不是纯单例模式了。
zyw052553
2008-06-22
打赏
举报
回复
这是我在网上搜到的:
单例模式也属创建模式的一种.确保某个类只有一个实例.而且自行实例化并向整个系统提供此实例.
1. 只有一个实例.
2. 自行实例化.
3. 向整个系统提供其实例.
单例模式分为饿汉式和懒汉式.(构造子均为私有)
饿汉式单例类指的是在类中声明一个静态变量,并初始化为一个本类实例.然后在类中提供一个公共方法返回其实例.以下是示例代码:
public class EagerSingleton {
public static EagerSingleton eagerInstance = new EagerSingleton();
private EagerSingleton(){}
public static EagerSingleton getInstance(){
return eagerInstance;
}
}
懒汉式单例类指的是在自己第一个被引用时将自己实例化.
public class LazySingleton {
public static LazySingleton lazyInstance = null;
private LazySingleton(){}
synchronized public static LazySingleton getInstance(){
if(lazyInstance == null){
lazyInstance = new LazySingleton();
}
return lazyInstance;
}
}
有状态单例类:
它是一种可变对象.比如一个单例对象可以持有一个int类型的属性,用来给系统提供一个数值惟一的序列号.
无状态单例类.
无状态单例类即是不变对象.比如一个提供工具函数的对象.
在多个JVM分散式系统或多个类加载器的情况下,应避免使用有状态单例类.
多例模式是单例模式的推广. 它是多个单例的聚集.可以根据需要创建任意个对象. 比如一个系统里面读取资源文件的对象中,构造对象时需要包含语言,区域等信息,创建对应的local对象然后来读取正确的资源文件. 此时,为了支持国际化,就可能需要用到多例模式.针对每一种区域/语言都创建一个惟一的对象,存放在一个集合中.
michaelwangwh
2008-05-23
打赏
举报
回复
偶系菜鸟,不清楚lz的需求 如果是按照4楼的理解有notify的那就加上observer,如果不需要notify就简单聚合一个静态的状态字段就行了, orz
iGoo
2008-04-30
打赏
举报
回复
你说的意思是~~~~当一个状态被改变那么所有和这个状态关联的操作都被执行,
而这个状态的源头是唯一实例?那么用单件模式 + 发布者模式就好了~
meiZiNick
2008-04-30
打赏
举报
回复
等待牛人来答.
knowledge_Is_Life
2008-04-30
打赏
举报
回复
这个简单啊,网上搜一下就得到答案了.
UltraBejing
2008-04-30
打赏
举报
回复
接分是王道!
wudichong
2008-04-10
打赏
举报
回复
某愧,助顶
king_wjb
2008-04-07
打赏
举报
回复
没有人?
[js
高手
之路]
单例模式
实现模态框的示例
什么是单例呢? 单,就是一个的意思。例:就是实例化出来的对象,那合在一起就是保证一个构造函数只能new出一个实例,为什么要学习
单例模式
呢?或者说
单例模式
有哪些常见的应用场景.它的使用还是很广泛,比如:弹出一个模态框,一般来说在网站中弹出的模态框,不停的一直点击,一般只能创建一个。还有后台的数据库连接,一般都是保证一个连接等等。今天的主题就是单例在模态框中的应用,我们先要搞清楚,怎么弄个单例出来. 我们先看下普通的构造函数加原型方式。下面这种是常见的方式 function Singleton ( uName ){ this.userName = uName; this.ins =
Java
高手
真经 - Java Web系统设计与架构 源代码(一)设计模式
Java
高手
真经 - Java Web系统设计与架构 源代码(一)设计模式 (3)设计模式样例(24个讲解样例程序) pattern/src/principle/liskovsubstitution//10.3.2里氏代换原则 pattern/src/creation/factorymethod //11.1工厂方法模式 pattern/src/creation/abstractfactory //11.2抽象工厂模式 pattern/src/creation/singleton //11.3
单例模式
pattern/src/creation/builder //11.4建造者模式 pattern/src/creation/prototype //11.5原型模式 pattern/src/structure/adapter //12.1适配器模式 pattern/src/structure/decorator //12.2装饰器模式 pattern/src/structure/proxy //12.3代理模式 pattern/src/structure/facade //12.4外观模式 pattern/src/structure/bridge //12.5桥接模式 pattern/src/structure/composite //12.6组合模式 pattern/src/structure/flyweight //12.7享元模式 pattern/src/behavior/strategy //13.1策略模式 pattern/src/behavior/templatemethod //13.2模板方法模式 pattern/src/behavior/observer //13.3观察者模式 pattern/src/behavior/iterator //13.4迭代子模式 pattern/src/behavior/chainofresponsibility//13.5责任链模式 pattern/src/behavior/command //13.6命令模式 pattern/src/behavior/memento //13.7备忘录模式 pattern/src/behavior/state //13.8
状态
模式 pattern/src/behavior/visitor //13.9访问者模式 pattern/src/behavior/mediator //13.10中介者模式 pattern/src/behavior/interpreter //13.11解释器模式
C#设计模式与源码,
高手
必修
书与源码都在里面,好东西大家一起学,pdf格式的书。此乃
高手
必备良书呀。
设计模式_设计模式_
设计模式 编程资料 觉得 hen好 的资料
java
高手
真经 (UML建模+设计模式+面向服务架构) 卷10
(1)UML样例源文件(8个样例文件) uml/uml.mdl //01.UML快速入门 uml/usecase.mdl //02.用例图 uml/class.mdl //03.静态图——类图、对象图、包图 uml/component.mdl //04.实现图——组件图与部署图 uml/statechart.mdl //05.行为图——
状态
图 uml/activity.mdl //06.行为图——活动图 uml/sequence.mdl //07.交互图——序列图 uml/collaboration.mdl //08.交互图——协作图 (2)UML上机演练源文件(16个实例文件) uml/usecase_product.mdl //02.用例图——企业产品生产销售管理系统 uml/class_login.mdl //03.类图和包图——企业信息管理系统用户登录和注册模块 uml/component_emis.mdl //04.组件图与部署图——企业信息管理系统 uml/statechart_bug.mdl //05.
状态
图——Bug管理系统 uml/statechart_atm.mdl //05.
状态
图——ATM机存取款 uml/statechart_thread.mdl //05.
状态
图——Java线程类Thread uml/activity_bug.mdl //06.活动图——Bug管理系统 uml/activity_atm.mdl //06.活动图——ATM机存取款 uml/activity_thread.mdl //06.活动图——Java线程类Thread uml/sequence_bug.mdl //07.序列图——Bug管理系统 uml/sequence_atm.mdl //07.序列图——ATM机存取款 uml/sequence_tel.mdl //07.序列图——打电话 uml/collaboration_bug.mdl //08.协作图——Bug管理系统 uml/collaboration_atm.mdl //08.协作图——ATM机存取款 uml/collaboration_tel.mdl //08.协作图——打电话 uml/bug.mdl //09.综合实例——Bug管理系统 (3)设计模式样例(24个讲解样例程序) pattern/src/principle/liskovsubstitution//10.3.2里氏代换原则 pattern/src/creation/factorymethod //11.1工厂方法模式 pattern/src/creation/abstractfactory //11.2抽象工厂模式 pattern/src/creation/singleton //11.3
单例模式
pattern/src/creation/builder //11.4建造者模式 pattern/src/creation/prototype //11.5原型模式 pattern/src/structure/adapter //12.1适配器模式 pattern/src/structure/decorator //12.2装饰器模式 pattern/src/structure/proxy //12.3代理模式 pattern/src/structure/facade //12.4外观模式 pattern/src/structure/bridge //12.5桥接模式 pattern/src/structure/composite //12.6组合模式 pattern/src/structure/flyweight //12.7享元模式 pattern/src/behavior/strategy //13.1策略模式 pattern/src/behavior/templatemethod //13.2模板方法模式 pattern/src/behavior/observer //13.3观察者模式 pattern/src/behavior/iterator //13.4迭代子模式 pattern/src/behavior/chainofresponsibility//13.5责任链模式 pattern/src/behavior/command //13.6命令模式 pattern/src/behavior/memento //13.7备忘录模式 pattern/src/behavior/state //13.8
状态
模式 pattern/src/behavior/visitor //13.9访问者模式 pattern/src/behavior/mediator //13.10中介者模式 pattern/src/behavior/interpreter //13.11解释器模式 (4)SOA(12个程序包) soa/JAXWSHelloWorldServer.zip //15.JAX-WS服务端——HelloWorld实例 soa/JAXWSHelloWorldClient.zip //15.JAX-WS客户端——HelloWorld实例 soa/AxisHelloWorldServer.zip //16.Axis服务端——HelloWorld实例 soa/AxisHelloWorldClient.zip //16.Axis客户端——HelloWorld实例 soa/SCAJavazip //19.SCA实例——计算器实例 soa/SCAWSServer.zip //19.SCA服务端实例——HelloWorld实例 soa/SCAWSClient.zip //19.SCA客户端实例——HelloWorld实例 soa/OSGiHelloWorld.zip.zip //21.OSGi实例——HelloWorld实例 soa/demo.sql //24.SOA服务架构实战——企业信息管理系统数据库脚本 soa/ssh2.zip //24.SOA服务架构实战——企业信息管理系统SSH2代码 soa/EmisWeb.zip //24.SOA服务架构实战——企业信息管理系统SCA服务端 soa/EmisService.zip //24.SOA服务架构实战——企业信息管理系统Web端
设计模式
3,409
社区成员
1,071
社区内容
发帖
与我相关
我的任务
设计模式
专题开发/技术/项目 设计模式
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 设计模式
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章