回头看singleton(单件)
“回头望,已过万重山”
出来工作有段时间拉,用设计模式也有一段时间了,这几天有空就整理一下。先说singleton(单件)吧。
刚学设计模式的时候(我开始是学c++和做j2me出身的);
public class Sample
{
private static Sample _Instance;
private Sample()
{
}
public static Sample GetInstance()
{
if (null == _Instance)
{
_Instance = new Sample();
}
return _Instance;
}
}
学会用get和set以后:
public class Sample
{
private static Sample _Current;
private Sample()
{
}
public static Sample Current
{
get
{
if (null == _Current)
{
_Current = new Sample();
}
return _Current;
}
}
}
学会多线程操作以后:
public class Sample
{
private static Sample _Current;
private static object _threadlook = new object();
private Sample()
{
}
public static Sample Current
{
get
{
if (null == _Current)
{
lock (_threadlook)
{
if (null == _Current)
{
_Current = new Sample();
}
}
}
return _Current;
}
}
}
学会用MSIL以后:
public class Sample
{
private static Sample _Current;
private Sample()
{
}
public static Sample Current
{
get
{
if (null == _Current)
{
lock (typeof(Sample))
{
if (null == _Current)
{
_Current = new Sample();
}
}
}
return _Current;
}
}
}
当然还有根据具体解决环境中添加了相应的关键字和相关的语句,大概数了一下,还有九种写法。由于环境描述的问题。在此略过。
现在回头看这些代码的写法,感触万分,当时每个阶段写出第一次这样的代码的时候,感觉开心极了,很成功的感觉,现在回头看,学海无涯,当初是多幼稚啊,想发笑。不过也体会到一句话:学过其他语言,只能很快的学会另一种语言,但是要弄懂、精通这种语言,还是要花很大功夫。
回头看singleton(单件)相关推荐
- C#面向对象设计模式纵横谈——Singleton单件(创建型模式)
Singleton单件(创建型模式) 动机(Motivation) 在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性.以及良好的效率. 如何绕过常规的 ...
- 工作缺点和不足及措施_安全生产 | 查不足 定措施 抓落实 强管理 圣雄氯碱组织开展“事故回头看”工作...
点击上方蓝色文字关注我们吧~ 近日,新疆圣雄氯碱有限公司(以下简称"圣雄氯碱")制定<关于开展圣雄氯碱"事故回头看"工作的通知>,组织开展" ...
- [转]深一层看Singleton
深一层看Singleton Singleton模式通常被认为是比较容易理解和运用的设计模式.目前,网上已经有相当多的资料讲解Singleton的基础知识,本文试图避免重复性的介绍,而是尝试从不同的角度 ...
- 回锅DS-4:回头看的感觉
[前言] 小马又来信,说他的学习感受.附件中的思考,罗列了一百多条.很有心的年轻人,很有价值的记录. 但疑问也来了. [第一封来信] 贺老师,截至目前我已经写了六篇思考,今天在复习第一篇(见附件),看 ...
- 管道公司襄樊处隐患治理注重“回头看”
为迎接集团公司安全环保大检查,日前,管道公司襄樊处开展了隐患治理"回头看"清查活动,对隐患整改情况进行检查和查缺补漏,确保实现安全生产. 该处一是针对目前的天气状况,对防洪.防雷击 ...
- 回头看,那时候也有人在努力过
最近刚看完电视剧「我们的日子」 文章会有一丢丢剧透,这是一部好剧,正在追剧的可以略过. 写这篇影评前,我试图让自己拒绝去看别人的评论,这样至少不会被一些我还没见到的思想乱了我的方寸. 我十分佩服杨大山 ...
- “万事回头看”:记得常回头看看
人应该是向前走,但"万事回头看"也是人生的智慧之一. 在很多的时候,人生需要经常"回头看"的.常回头看看,是一种生活的智慧.回头,有我们的出发点,有我们的前车之 ...
- 多年后再回头看那海市蜃楼
作者/齐鸣宇 王曼说,从小到大,他一共暗恋过三个女生. 第一个是他小学同桌,王曼欺负了她四年,等到五年级,王曼的审美能力发生质的飞跃,发现同桌的马尾辫不仅可以揪着玩,静静欣赏也不错.然而不到一个月,马 ...
- 一年后再回头看系列之C/C++中的选择法排序、冒泡排序
文章目录 前言 一.两种排序算法的基本思想 二.具体步骤 1.引入库 2.生成随机数 三.具体代码 前言 转眼大二了,突然感觉比大一还要迷茫(也可能是因为数模竞赛,评优都没有搞好,明年暑假的智能车也一 ...
最新文章
- GitHub五万星登顶,程序员命令行最全技巧宝典!
- Verilog中Dump函数及用法
- python编程入门电子书下载-Python编程基础如何快速入门?“附电子书下载”
- 搭建一个VUE+Express前后端分离的开发环境
- html中评论应该怎么写,HTML-评论
- Linux Shell文本处理工具集锦
- Feescale MX31 bootloader Program : HAB Toolkit
- java定时器与ThreadLocal编程陷阱
- 基于springboot+vue的毕业论文选题答辩管理系统
- boseqc35能不能连电脑_求教boseqc35如何连接win10电脑
- STM32+华为云IOT制作酒驾监控系统:上车就监控
- php随机码生成有数字英文,用php生成一个可选位数的数字和英文随机码
- MySQL中支持的字符集和排序规则
- 输入【ionic start myApp tabs】命令创建项目时失败
- 浪潮之巅读书笔记(二)
- JavaScript中的强制多态 | Lynda教程 中文字幕
- c语言基础循环练习题,C语言练习题:循环部分
- 最新简约虚拟资源下载站源码+织梦Dedecms内核
- 分支-04. 出租车计价(15)
- 解决锁等待超时的解决方法
热门文章
- 秋月之谋:5.20黄金原油调整不改,主要选择在周尾!
- 金蝶云星空与钉钉集成案例
- 网页端对接linux发起cc,网页端和mLink指南
- 回归预测 | MATLAB实现WOA-BiLSTM鲸鱼算法优化双向长短期记忆神经网络多输入单输出回归预测
- python连接oracle报错DPI-1047
- 微信登录界面安卓代码_【雷电说明书】安卓模拟器微信登录闪退,转圈,停止运行解决方法...
- 初学Linux,了解基本命令
- python怎么把程序挂在远端服务器_Python实现在远端服务器挂代码—发送定时天气预报至邮箱+每日一句(小白教程)...
- 服务端和客户端之文件加密传输
- 微信小程序之短连接 分享转发 点击短连接就可以直接打开小程序某个页面