返回信息流单例模式有存在的必要性吗?可以用静态方法和静态变量来代替它吗?它有不可替代的地方吗?
这是一条镜像帖。来源:北邮人论坛 / java / #40819同步于 2015/5/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
单例模式存在的必要性在哪里?
wislov
2015/5/16镜像同步12 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 renyi 的大作中提到: 】
: 这句话如何理解啊? 求指点
:
这里有对四人帮的一段采访。其中一个人提到了去掉singleton。
http://www.informit.com/articles/article.aspx?p=1404056
我个人的理解是,singleton没有解决的一个问题是:“唯一”指的是在什么范围内唯一?一个进程?一个线程?一个对象?一台计算机?一个局域网?整个互联网?还是全世界、全宇宙?
有时候真正想表达的意思是“一个xx对应一个yy”。比如一个进程对应一个文件管理器,毕竟unix里面,“文件描述符”是操作系统分配给一个进程的,自然相对进程来说是唯一的。
但有时候,人为地限制“唯一性”会引入没有必要的限制。比如Python,以及最早的Lua语言的解释器是全局唯一的。这样一个进程里只能有一个执行环境。Lua3.1开始允许建立多个Lua状态,这样可以建立多个线程,并行地跑Lua程序,也可以轮流执行,或者每个执行环境处理一部分数据。
如果设计服务器软件,有时候会忍不住把服务器对象设置成全局唯一的。但万一我想在同一个进程里跑两个服务器呢?
恩,看了以后我能明白被滥用的含义
但是,“反模式”如何该如何理解呢?
谢谢
【 在 nuanyangyang 的大作中提到: 】
:
: 这里有对四人帮的一段采访。其中一个人提到了去掉singleton。
: http://www.informit.com/articles/article.aspx?p=1404056
: ...................
对了,如果要给单例添加范围,那么其他模式是否也有范围的说法呢?
【 在 nuanyangyang 的大作中提到: 】
:
: 这里有对四人帮的一段采访。其中一个人提到了去掉singleton。
: http://www.informit.com/articles/article.aspx?p=1404056
: ...................
维基百科有一页介绍 http://en.m.wikipedia.org/wiki/Anti-pattern
【 在 renyi 的大作中提到: 】
: 恩,看了以后我能明白被滥用的含义
: 但是,“反模式”如何该如何理解呢?
: 谢谢
: ...................
来自「北邮人论坛手机版」
我对单例的理解是一种关系模式。其他的关系模式已经讨论类似的问题了。
【 在 renyi 的大作中提到: 】
: 对了,如果要给单例添加范围,那么其他模式是否也有范围的说法呢?
:
来自「北邮人论坛手机版」
学习了
【 在 nuanyangyang (暖羊羊) 的大作中提到: 】
: 这里有对四人帮的一段采访。其中一个人提到了去掉singleton。
: http://www.informit.com/articles/article.aspx?p=1404056
: 我个人的理解是,singleton没有解决的一个问题是:“唯一”指的是在什么范围内唯一?一个进程?一个线程?一个对象?一台计算机?一个局域网?整个互联网?还是全世界、全宇宙?
: ...................