社区
设计模式
帖子详情
那位高手解释一下有状态的单例模式
king_wjb
2008-04-02 05:57:14
那位高手解释一下有状态的单例模式。
这个状态怎么持有、怎么改变?改变后,所有使用这个单例的状态是否都改变了?
最好能举个例子,谢谢!
...全文
204
9
打赏
收藏
那位高手解释一下有状态的单例模式
那位高手解释一下有状态的单例模式。 这个状态怎么持有、怎么改变?改变后,所有使用这个单例的状态是否都改变了? 最好能举个例子,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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`关键字创建`Singleton`类的实例时,每次都会生成一个新的实例,这样就违背了...
Java
高手
真经 - Java Web系统设计与架构 源代码(一)设计模式
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...
C#设计模式与源码,
高手
必修
书中可能涉及了如
单例模式
(Singleton)、工厂模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)、观察者模式(Observer)、装饰器模式(Decorator)、代理模式(Proxy)、策略模式...
设计模式_设计模式_
-
单例模式
(Singleton):确保一个类只有一个实例,并提供全局访问点。 - 原型模式(Prototype):通过复制已有对象来创建新对象,减少类的实例化过程。 - 工厂方法模式(Factory Method):定义一个用于创建...
java
高手
真经 (UML建模+设计模式+面向服务架构) 卷10
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/...
设计模式
3,409
社区成员
1,071
社区内容
发帖
与我相关
我的任务
设计模式
专题开发/技术/项目 设计模式
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 设计模式
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章