Since I know Singleton (see the GOF "design mode"), I haven't had a deep understanding, I have started the abuse of this mode. Various places, especially in places involving the underlying service, I like to use Singleton, which is used to advertise "I can only have one." . . In fact, actually, Singleton should be cautious - because in fact, Singleton is a variant of global variables, and global variables can lead to a very serious dependent problem (can refer to Lokas "large-scale C programming") . This mode is not used in this mode unless you can really determine that there is only one copy in this object system, and you can definitely need its second copy of the copy. After using Singleton, the default will prompt the user: This object is only one other, there is no branch, you can rest assured that bold use, we can guarantee that you have a ripple impact on its changes. However, once your decision is wrong, in the future, it is found that there is a second copy of the system in the system, and any modification of this mode will generate "seismic" effect on the entire system, and sometimes You will have no choice but to make such a change is simply impossible. This can also be said to be one of the limitations of Singleton itself, but more reasons are still the abuse of users, after all, GOF has reminded us. Once again, I will remind everyone that the use of Singleton should be cautious. When you are not grasped, don't use it.