课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
单例模式是程序员在学习软件开发技术的时候需要重点掌握的一个编程技术,下面我们就一起来了解一下,单例模式概念与优缺点分析。
一、概述
1、介绍
所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。
2、优缺点
优点:提供了对实例的受控访问;由于在系统内存中只存在一个对象,因此可以节约系统资源,当需要频繁创建和销毁的对象时,单例模式无疑可以提高系统的性能;避免对共享资源的多重占用。
缺点:不适用于变化的对象,如果同一类型的对象总是要在不同的用例场景发生变化,单例就会引起数据的错误,不能保存彼此的状态;由于单利模式中没有抽象层,因此单例类的扩展有很大的困难;单例类的职责过重,在一定程度上违背了"单一职责原则"。
3、应用场景
网站的计数器;Web应用的配置对象的读取,由于配置文件是共享的资源;数据库连接池的设计,因为数据库连接是一种数据库资源;多线程的线程池的设计,这是由于线程池要方便对池中的线程进行控制。
二、单例的破坏
单例模式一定能保证只有一个实例对象吗?答案:不能。
破坏单例的两种方式:反射、反序列化。
1、反射破坏
通过反射是可以破坏单例的,例如使用内部类实现的单例。通过反射获取其默认的构造函数,然后使默认构造函数可访问,就可以创建新的对象了。
2、反序列化破坏
Singleton要实现Serializable接口。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。