单例模式(Singleton)
单例模式按照实现方式可以有三个类别:懒汉模式,饿汉模式和注册模式。
单例通常用于对唯一资源的管理,规定对特定资源只有一个访问实例接口。例如一夫一妻,一人一身份证等等。
单例由于其唯一性必须具备以下特点:
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
那究竟什么是懒汉模式?什么是饿汉模式?下面听我插播一个例子。
想必大家对银行卡很熟悉,但是不同的银行开设定期存款账户的方式不一样。比如招行,你一开户就有了定期存款账户,而后你只需要存钱的时候往存款账户里面存就可以了。但如中行就不一样,你开卡时,你是没有定期存款账户的,只有你需要存定期时才给你开设定期账户。
这就是典型的懒汉模式和饿汉模式的处理方式。同样是一卡一个定期账户,招行采用的是懒汉模式来实现的,中行采用的却是饿汉模式的方式来服务。
至于注册模式,这是一个处理单例组合的模式。相当于一个论坛管理用户的方式, 注册制,一人一账号,注册过的就直接用来登录就好了,没有注册的需要注册才能用。注册过的不需要重复注册。