设计模式之单例模式(C语言)

介绍:

单例模式是一种创建型设计模式,又称为单件模式,是最简单的设计模式之一;


作用:

  • 保证一个类永远都只有一个实例;如果你已经创建了一个实例, 过一会儿还想再创建一个新的实例, 此时获得到的实例是之前已创建的实例, 而不是一个新的实例;
  • 提供一个访问该实例的全局接口;

解决问题:

  • 控制实例数量;
  • 避免全局使用的实例频繁创建与销毁;

类比:

​ 地球只有一个,无论在什么场景下,我们口中所说的地球都是同一个地球;


代码示例:

/*共享资源大小*/
#define SHARED_MEM_SIZE	100

/*访问该实例的全局接口*/
void* memory_get(void)
{
    /*注意static*/
    static void* pMem = NULL;
    
    /*当实例已经存在时直接返回这个实例*/
    if(NULL != pMem) 
        return pMem;
 
    /*当实例不存在时创建一个新的实例*/
    pMem = (void*)malloc(SHARED_MEM_SIZE);
    assert(NULL != pMem);
    return (void*)pMem;
}

请关注“嵌入式ICU”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值