架构师训练营第三周作业
单例模式:一个类有且仅有一个对象。
使用场景:一个系统要求一个类只有且仅有一个对象,如果出现多个对象就会出现不良反应,可以采用单例模式
要求生成唯一序列号
在整个项目需要一个共享访问点或共享数据
创建一个对象需要消耗的资源过多,如需要访问IO和数据库等资源
需要大量定义静态常量和静态方法(如工具类)的环境,当然也可以直接定义为static
实现思路:首先,需要保证一个类只有一个实例;在类中,要构造一个实例,就必须调用类的构造函数,如此,为了防止在外部调用类的构造函数而构造实例,需要将构造函数的访问权限标记为protected或private;最后,需要提供要给全局访问点,就需要在类中定义一个static函数,返回在类内部唯一构造的实例。
UML类图:
代码手写实现:
评论