网上曾经看到过PYTHON的面试题中有一个是PYTHON的单例模式,说实话,用了这么久的PYTHON,第一次听说单例模式,GOOGLE一下单例模式的关键词,出来的几页面全是JAVA的,想想自己早年也看过一些JAVA的书,先不谈语法,JAVA的很多设计完全就是要把开发者搞晕。UNIX的KISS原则不是很好么,非要把自己搞的很高深,现在的C++的复杂度不就是未来JAVA想要弄的么,一个开发者不学习个半年到1年,JAVA的很多东西根本就无法上手,我们所倡导的敏捷和开发效率,根本就无从谈起了。扯了这么多,还是看看SATCKOVERFLOW上单例模式吧
class Singleton(object):
_instance = None
def __new__(cls, *args, **kwargs):
if not cls._instance:
cls._instance = super(Singleton, cls).__new__(
cls, *args, **kwargs)
return cls._instance
if __name__ == '__main__':
s1=Singleton()
s2=Singleton()
if(id(s1)==id(s2)):
print "Same"
else:
print "Different"
这不就是一个类只有一个实例么,还取名叫什么单例模式(就是要把开发人员搞晕),看来还是函数编程来的实在。