1
68
相关链接:
模式使用与出现 模式作为概念和术语是有用的,但不幸的是,当真正的模式是根据需要来实现时,人们似乎觉得需要“使用”模式。通常,单子特别是短喇叭,因为它是一个常见的讨论模式。用模式意识设计您的系统,但不要仅仅因为模式存在而专门设计您的系统来屈从于它们。它们是有用的概念工具,但正如你不能仅仅因为可以使用工具箱中的每一个工具一样,你不应该对模式做同样的事情。根据需要使用它们,不要多用或少用。 单实例服务定位器示例
|
2
12
一个词: testing
单身是一场灾难。因为它们是静态的,所以不能用子类将它们除去。因为它们是全局的,所以如果不重新编译或进行一些繁重的提升,就无法轻松地更改它们指向的引用。任何使用singleton的东西都会神奇地得到一个全局引用,这个引用很难控制。这使得很难限制测试的范围。 |
3
6
我见过的singleton最大的错误是你设计了一个单用户系统(比如桌面程序),使用singleton做了很多事情(比如设置),然后你想成为多用户,比如网站或服务。 这类似于在多线程程序中使用带有内部静态缓冲区的C函数时所发生的情况。 |
4
5
我要说不惜一切代价避免单身。它限制了应用程序的扩展。真正分析您所处理的问题,并考虑可伸缩性,并根据您希望应用程序具有多大的可伸缩性做出决策。 一天结束时,如果设计不正确,单例会成为资源瓶颈。
|
5
3
|
6
0
|
7
0
|
S qasem · Android内存性能 6 年前 |
R83nLK82 · 在单例设计模式上引发IOException 6 年前 |
hal · 两个课程有什么区别?他们的工作方式不同吗? 6 年前 |
Jaquarh · 如何在不使用DI的情况下实例化父类 6 年前 |
Deepanshu · 基于PHP的Web应用程序中的单例对象状态 6 年前 |
dicle · 视图控制器中的依赖项注入 6 年前 |
Kozuki · 如何在生产代码中考虑单例? 6 年前 |