Design Pattern:Singleton
来源:互联网 发布:powermill编程视频教程 编辑:程序博客网 时间:2024/05/18 02:48
一定义: 单例模试的意思就是只有一个实例,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。
二UML类图:
三模试角色与结构:
Singleton:负责创建单例并向整个系统提供这个单例。
四程序举例:
1、双重锁定实现
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Singleton { class Singleton { static Singleton s; private Singleton() { } static object o= new object(); public static Singleton GetInstance() { if (s == null) { lock(o) { if (s == null) s = new Singleton(); } } return s; } } }
2、静态初始化实现
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Singleton { class Singleton2 { static readonly Singleton2 s= new Singleton2(); private Singleton2() { } public static Singleton2 GetInstance() { return s; } } }
Client端代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Singleton { class Client { static void Main(string[] args) { Singleton s1= Singleton.GetInstance(); Singleton s2 = Singleton.GetInstance(); if (s1 == s2) { Console.WriteLine("s1与s2是两个相同的对象!"); } Singleton2 s21 = Singleton2.GetInstance(); Singleton2 s22 = Singleton2.GetInstance(); if (s21 == s22) { Console.WriteLine("s21与s22是两个相同的对象"); } } } }
显示效果:
- Design Pattern 8-singleton
- [Design Pattern]:Singleton
- design pattern : Singleton
- Design pattern--Singleton
- C++ Singleton design pattern
- java singleton design pattern
- Singleton Design Pattern
- Singleton Design Pattern
- SingleTon Design Pattern
- Design pattern: Singleton
- Design Pattern: Singleton 模式
- java design pattern - singleton
- Design Pattern:Singleton
- Design Pattern: Singleton 模式
- Singleton Design Pattern Tutorial
- Java Design Pattern: Singleton
- Design Pattern—Singleton
- Design Pattern--Singleton
- ios中设置的添加
- 几个优秀的js框架的license问题,付费,版权,侵权
- PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件
- Codeforces Round #154 (Div. 2)——B
- jquery日历控件推荐,看看老外们的功底
- Design Pattern:Singleton
- const 和volatile
- 网卡声卡驱动更新失败,并导致原驱动失效
- cocos2d-x开发的几点总结
- 《OpenGL 3 & DirectX 11: The War Is Over》:绘图API 终战之日?
- Win8 自定义TimePicker --- 用户控件
- js判断字符是否是汉字的几种方法
- csdn博客里的图片都没了!!!!呜呜呜
- Facebook图片存储架构的学习