BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #40819同步于 2015/5/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

单例模式存在的必要性在哪里?

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