我在网上阅读的关于Singleton设计模式的许多文章都提到,类应该重写'clone()'方法,并在其中抛出'CloneNotSupported'异常。这真的有必要吗?Singleton设计模式和防止克隆
默认情况下,clone()方法是受保护的,因此没有类(除了那些在同一个包中的类)将能够在该Singleton实例上调用它。另外,如果这个Singleton没有实现Cloneable,那么即使这个方法被调用,它也会给出一个运行时异常。另外,构造函数是私有的,我们将不能够继承它,从而允许它的克隆。那么我是否应该为我的Singleton类实现这个建议?
编辑:只是为了澄清:我没有寻找最好的方式来实现Singleton。我只是问上面提到的建议的有效性,w'r'是'正常的'Singleton模式(而不是基于Enum的Singleton模式)。
你问:“如果我创建单身走错了路,我不应该做,应该我担心X“。答案是以正确的方式让你的问题没有意义。不,你不必担心这一点。 – 2012-02-16 14:47:17