“回头望,已过万重山”

出来工作有段时间拉,用设计模式也有一段时间了,这几天有空就整理一下。先说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(单件)相关推荐

  1. C#面向对象设计模式纵横谈——Singleton单件(创建型模式)

    Singleton单件(创建型模式) 动机(Motivation) 在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性.以及良好的效率. 如何绕过常规的 ...

  2. 工作缺点和不足及措施_安全生产 | 查不足 定措施 抓落实 强管理 圣雄氯碱组织开展“事故回头看”工作...

    点击上方蓝色文字关注我们吧~ 近日,新疆圣雄氯碱有限公司(以下简称"圣雄氯碱")制定<关于开展圣雄氯碱"事故回头看"工作的通知>,组织开展" ...

  3. [转]深一层看Singleton

    深一层看Singleton Singleton模式通常被认为是比较容易理解和运用的设计模式.目前,网上已经有相当多的资料讲解Singleton的基础知识,本文试图避免重复性的介绍,而是尝试从不同的角度 ...

  4. 回锅DS-4:回头看的感觉

    [前言] 小马又来信,说他的学习感受.附件中的思考,罗列了一百多条.很有心的年轻人,很有价值的记录. 但疑问也来了. [第一封来信] 贺老师,截至目前我已经写了六篇思考,今天在复习第一篇(见附件),看 ...

  5. 管道公司襄樊处隐患治理注重“回头看”

    为迎接集团公司安全环保大检查,日前,管道公司襄樊处开展了隐患治理"回头看"清查活动,对隐患整改情况进行检查和查缺补漏,确保实现安全生产. 该处一是针对目前的天气状况,对防洪.防雷击 ...

  6. 回头看,那时候也有人在努力过

    最近刚看完电视剧「我们的日子」 文章会有一丢丢剧透,这是一部好剧,正在追剧的可以略过. 写这篇影评前,我试图让自己拒绝去看别人的评论,这样至少不会被一些我还没见到的思想乱了我的方寸. 我十分佩服杨大山 ...

  7. “万事回头看”:记得常回头看看

    人应该是向前走,但"万事回头看"也是人生的智慧之一. 在很多的时候,人生需要经常"回头看"的.常回头看看,是一种生活的智慧.回头,有我们的出发点,有我们的前车之 ...

  8. 多年后再回头看那海市蜃楼

    作者/齐鸣宇 王曼说,从小到大,他一共暗恋过三个女生. 第一个是他小学同桌,王曼欺负了她四年,等到五年级,王曼的审美能力发生质的飞跃,发现同桌的马尾辫不仅可以揪着玩,静静欣赏也不错.然而不到一个月,马 ...

  9. 一年后再回头看系列之C/C++中的选择法排序、冒泡排序

    文章目录 前言 一.两种排序算法的基本思想 二.具体步骤 1.引入库 2.生成随机数 三.具体代码 前言 转眼大二了,突然感觉比大一还要迷茫(也可能是因为数模竞赛,评优都没有搞好,明年暑假的智能车也一 ...

最新文章

  1. GitHub五万星登顶,程序员命令行最全技巧宝典!
  2. Verilog中Dump函数及用法
  3. python编程入门电子书下载-Python编程基础如何快速入门?“附电子书下载”
  4. 搭建一个VUE+Express前后端分离的开发环境
  5. html中评论应该怎么写,HTML-评论
  6. Linux Shell文本处理工具集锦
  7. Feescale MX31 bootloader Program : HAB Toolkit
  8. java定时器与ThreadLocal编程陷阱
  9. 基于springboot+vue的毕业论文选题答辩管理系统
  10. boseqc35能不能连电脑_求教boseqc35如何连接win10电脑
  11. STM32+华为云IOT制作酒驾监控系统:上车就监控
  12. php随机码生成有数字英文,用php生成一个可选位数的数字和英文随机码
  13. MySQL中支持的字符集和排序规则
  14. 输入【ionic start myApp tabs】命令创建项目时失败
  15. 浪潮之巅读书笔记(二)
  16. JavaScript中的强制多态 | Lynda教程 中文字幕
  17. c语言基础循环练习题,C语言练习题:循环部分
  18. 最新简约虚拟资源下载站源码+织梦Dedecms内核
  19. 分支-04. 出租车计价(15)
  20. 解决锁等待超时的解决方法

热门文章

  1. 秋月之谋:5.20黄金原油调整不改,主要选择在周尾!
  2. 金蝶云星空与钉钉集成案例
  3. 网页端对接linux发起cc,网页端和mLink指南
  4. 回归预测 | MATLAB实现WOA-BiLSTM鲸鱼算法优化双向长短期记忆神经网络多输入单输出回归预测
  5. python连接oracle报错DPI-1047
  6. 微信登录界面安卓代码_【雷电说明书】安卓模拟器微信登录闪退,转圈,停止运行解决方法...
  7. 初学Linux,了解基本命令
  8. python怎么把程序挂在远端服务器_Python实现在远端服务器挂代码—发送定时天气预报至邮箱+每日一句(小白教程)...
  9. 服务端和客户端之文件加密传输
  10. 微信小程序之短连接 分享转发 点击短连接就可以直接打开小程序某个页面