1、问题场景
场景:设计范式中,一个对象实现被全局共享。换句话说就是保证一个类只有一个实例对象,并提供一个可供全局访问点。
问题:在设计范式中,我们要怎么样设计去创建一个唯一的变量(对象)。
2、解决办法
单例又叫单态或者单件。它即实现了一个类只有一个实例,并提供一个全局访问点。它的呈现形式:构造函数私有化(private / protected),并提供一个属于类本身的方法(static)。
UML图:
优缺点:保证了对象只有一个实例并可被全局访问,有效地实现了全局共享,常与工厂模式一起使用。系统工厂对象一般来说只要一个,单例即可保证,同时工厂也只有一个,工厂类来实现不同的产品创建。但是在Java中单例会出现一些问题,比如:多虚拟机、多个类加载器、错误的线程同步、错误的同步处理、子类坡缓了对象、串行化等问题。
---------------------------------------------------------------------------
name:一个奔跑中的loser
E-mail:chenfeiyoucan@163.com
_________________________________________