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

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Jina AI
Jina AI
博客园 - Franky
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
阮一峰的网络日志
阮一峰的网络日志
量子位
雷峰网
雷峰网
宝玉的分享
宝玉的分享
V
Visual Studio Blog
博客园_首页
小众软件
小众软件
The Cloudflare Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
S
SegmentFault 最新的问题
博客园 - 【当耐特】
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
人人都是产品经理
人人都是产品经理
WordPress大学
WordPress大学

博客园 - star163

开源项目管理工具 [转]项目管理和版本跟踪——Redmine和SVN的结合 [转]在项目管理工具Redmine中使用SubVersion进行版本管理 [转]非常全的javascript控制MediaPlayer与realplayer对象 [转]让VS2008支持JQUERY的javascript语法提示 [转]强烈推荐:jQuery-240多个jQuery插件 [转]详谈基于JSON的高级AJAX开发技术 使用JavaScript中的ActiveXObject填充并设置Excel格式 - star163 - 博客园 [转]ASP.NET MVC Framework 尝鲜小试 - star163 MVC资源 [转]ASP.NET MVC 框架路线图更新 [转]用WMI实现Windows系统自动管理(多图) 优秀开源资源 UPDATE实现多表更新 [转]50种方法巧妙优化SQL Server数据库 [转]使用面向对象的技术创建高级 Web 应用程序 NET常用设计模式——代理(Proxy)模式 .NET常用设计模式——迭代器模式 NET常用设计模式——组合模式
NET常用设计模式——单件模式
star163 · 2007-12-23 · via 博客园 - star163


单件模式

  • 整个系统中对象是唯一的
  • 也可以有固定数目个
    如:对象池、portal中的配置对象 当前httpcontext appdomain

应用实列(一)

using System;
namespace CSDesingPattern
{
    
class Singleton
    {
        
private static Singleton mInstance;
        
private int x = 0;//私有构造函数
        private Singleton() { }//实现单件实例
        public static Singleton GetObject()
        {
            
if (mInstance == null)
                mInstance 
= new Singleton();
            
return mInstance;
        }
public void SetX(int newVal)
        {
            x 
= newVal;
        }
public int GetX()
        {
            
return x;
        }
static void Main(string[] args)
        {
int val;
            Singleton s1 
= Singleton.GetObject();
            Singleton s2 
= Singleton.GetObject();
            Console.WriteLine(
"将Singleton对象中的X设置为10");
            s1.SetX(
10);
            val 
= s2.GetX();
            Console.WriteLine(
"使用第二个Singleton变量读取X的值 x={0}", val);
        }
    }
}