最近在网上看见一个话题,Singleton是邪恶的。
惊诧!这是我最早了解的模式之一,很多情况下,该模式是很好的对资源进行控制的方法。
遂仔细看其理由,重要的不过有二:
1、在多线程应用时简单使用Singleton会造成一些问题
2、会使一些人把他当作全局变量集合器使用
还包括人的方面:
由于该模式结构非常简单,非常容易使没有经验的开发者使用之,造成模式误用。
我认为大可不必这样理解,因为大量的技术(包括模式),都是在正确使用时才能发挥最好的工效。
比如Sigleton使用懒汉式创建,就会避免创建时的线程问题,
另外,就算没有Singleton也会用人使用全局变量等方法(在一些情况下使用全局变量是轻便、合理的).
科学、严谨的设计才是解决问题的根本,而不是扼杀(或者说妖魔化)设计模式.
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=441956