23种Java设计模式单例模式
发布时间
阅读量:
阅读量
一、单例模式
1、实现单例模式的方式大致可分为三种:
懒汉式单例、饿汉式单例以及注册模式(亦称容器模式或枚举模式)。
2、可能破坏单例模式的情形包括:
借助反射机制,获取类的构造方法,并调整其访问权限,从而利用构造方法生成新的实例,以此破坏单例特性;
通过序列化与反序列化过程,也有可能导致单例被破坏。
3、单例模式具备以下特征:
1)该类在整个系统中仅允许存在一个实例;
2)此类必须自行负责创建其唯一的实例;
3)此类需向系统中的其他对象提供该唯一实例;
该设计模式确保特定类在整个运行过程中仅能生成一个实例,并由该类自身完成初始化操作,同时向整个系统提供此实例。在计算机系统中,线程池、缓存管理器、日志记录器、对话框组件、打印机驱动程序及显卡驱动程序等常被设计为单例形式。这些应用场景在一定程度上都具有资源管理的功能。例如,每台计算机可以配备多个打印机设备,但只能存在一个打印任务调度器(Printer Spooler),以防止多个打印任务同时发送至同一台打印机造成冲突。同样地,计算机可能拥有多个通信端口,但应由系统统一进行管理,避免某一端口同时被两个请求调用的情况发生。总体而言,采用单例模式的主要目的在于防止状态不一致的问题出现,并确保系统的统一性与一致性。
单例代码的典型特征包括:
1)将构造函数设为私有访问权限;
2)对于懒汉式实现方式,需要
全部评论 (0)
还没有任何评论哟~
