单例模式

单例模式概念

单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点。在单例模式中,一个类负责创建自己的对象,同时确保只有一个对象被创建,并提供一个访问该对象的全局访问点

 

单例模式特点

  • 一个类只有一个实例:确保一个类只有一个实例被创建,并提供一个全局访问点
  • 全局访问点:提供一个全局访问点,使得外部代码可以访问该实例
  • 延迟初始化:在需要时才进行初始化,以避免资源浪费和提高系统性能
  • 线程安全:确保多线程中只有一个线程可以访问该实例

 

单例模式优缺点

单例模式的优点:

  • 提供了对唯一实例的受控访问:通过单例模式,可以确保一个类只有一个实例,并提供一个全局访问点来访问该实例,从而对唯一实例的访问受到了控制
  • 节省系统资源:由于单例模式只创建一个实例,因此可以节省系统资源,例如内存和CPU时间
  • 简化了代码实现:单例模式可以简化代码实现,因为它只需要创建一个对象,并提供一个全局访问点

单例模式的缺点:

  • 违反了单一职责原则:由于单例模式需要负责创建和管理自己的唯一实例,因此可能会违反单一职责原则
  • 可能会引起性能问题:由于单例模式只创建一个实例,因此如果该实例需要频繁创建和销毁,可能会引起性能问题
  • 可能会引起多线程问题:如果多个线程同时访问单例模式的实例,可能会引起多线程问题,例如死锁、竞态条件等

 

综上所述,单例模式是一种常用的设计模式,它提供了对唯一实例的受控访问,可以节省系统资源,但也存在一些缺点,例如可能会违反单一职责原则、可能会引起性能问题和多线程问题。在使用单例模式时需要根据实际情况进行权衡

 

编程实现

 

posted @ 2023-04-05 13:10  SuperCodeX  阅读(29)  评论(0编辑  收藏  举报