惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
D
Docker
GbyAI
GbyAI
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
G
Google Developers Blog
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
雷峰网
雷峰网
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
小众软件
小众软件
Engineering at Meta
Engineering at Meta
酷 壳 – CoolShell
酷 壳 – CoolShell
I
InfoQ
B
Blog
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog

博客园 - 心雨无痕

升级openssl和openssh linux配置LVM 杂七杂八 .net程序包含webbrowser插件时遇到的各种问题 mysql连接远程服务器很慢的解决方法 centos安装php需要注意的问题 centos配置nfs杂七杂八 iptables配置网络端口转发 桥接模式 适配器模式 原型模式 工厂方法模式 简单工厂模式 建造者模式 ActionScript中Object和Dictionary的区别 FlashBuilder4.5破解方法 抽象工厂模式 设计模式浅见 了解下常见的开源协议
单例模式
心雨无痕 · 2012-06-27 · via 博客园 - 心雨无痕

单例模式的意图是为了保持有且只有一个实体,并且提供一个全局的访问点。

为什么要使用单例模式

如果某个类在整个程序运行过程中只能有一个实例,比如创建多个实例会造成不必要的系统开销,或者会造成程序状态的不易管理和维护等等。

单例模式概述

单例模式既然定义类只能有一个实例,那么就必须将类的构造函数私有化,通过使用类方法的方法获取该类的唯一实例。下面是伪代码(这里不讨论线程安全问题):

class A 
{
    private A _a;
    public static A getInstance()
    {
       if(!_a) _a = new A();
       return _a;
    }
    private A(){}
}