《C++设计模式》第一章:创建(对象)型模式之单例模式(单态模式)

一、什么时候需要使用单例模式?

    有些系统组件(或者叫系统资源)在本质上具有唯一性,比如文件系统、资源管理器等。

二、使用单例模式的作用是什么?

    单例模式的目的就是要控制特定的类只能产生一个对象,当然也允许在一定情况下灵活的改变对象的个数。

三、如何实现单例模式(单例类)?

    一个类的对象的产生是由类构造函数来完成的,如果想限制对象的产生,一个办法就是将构造函数变为私有的(或者受保护的),使得外面的类不能通过引用来产生对象;同时为了保证类的可用性,就必须提供一个自己的对象以及访问这个对象的静态方法。

四、如何使用单例模式?

    客户通过调用类方法来得到类的对象。

五、设计实例

    public class Singleton{

      //在自己内部定义自己一个实例,private只是供内部调用

      private static Singleton instance = new Singleton();

      //即将构造函数设置为私有

      private Singleton(){

      }

      //静态工厂方法(该模式会在下篇文章讲述),提供了一个供外部访问得到对象的静态方法

      public static Singleton getInstance{(){

        return instance;

      }

    }

    说明:类的构造函数是私有的,所以就彻底断开了使用构造函数来得到类的实例的通道;但是这样也使得类失去了多态性(大概这就是为什么有人将这种模式称作单态模式)。

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值