在<<java设计模式>>一书中,给出的设计模式的一般定义如下:
设计模式是一套被反复使用,多数人知晓的,经过分类编目,代码设计经验的总结,使用设计模式是为了可重用代码,让代码更容易被他人理解并且保证代码可靠性
java设计模式中有23中经典的设计模式
今天给大家介绍的是 单例模式,如果您发现了什么不足或者问题,希望能提出来,我会及时改正
单例模式(Singleton Pattern)–确保对象的唯一性
在<<java设计模式>>书中讲了一个"任务管理器"的例子
在windows系统任务栏右击选择"任务管理器"会显示出屋面当前正在运行的应用程序信息,
当我们多次点击"任务管理器"始终只有一个任务管理器窗口,这表明在windows系统中,任务管理器具有其唯一性.
试想一下,如果我们多次点击"任务管理器",然后弹出多个窗口,且内容都一模一样,这必定会浪费资源,任务管理器需要获取系统运行时的诸多信息,这些信息也需要消耗系统资源,包括CPU资源及内存资源等.而且如果弹出多个窗口,显示多个不同系统运行的状态,用户也就不知道到底谁是真实的?
所以windows系统保证只有一个任务管理器.这在开发中,我们也会遇到类似情况,为了确保节约资源,有时需要某一个类只有唯一一个实例,当这唯一一个实例创建成功后,就没办法再创建一个同类型的其他对象,所有操作只能基于这一个实例.
这就是单例模式的动机
单例模式:确保某一个类只有一个实例,而且自行实例并向整个系统提供这个实例,这个类称为单例类,
它提供全局访问的方法.单例模式是一种对象创建型模式