经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » 设计模式 » 查看文章
设计模式-原型模式
来源:cnblogs  作者:冰乐  时间:2019/9/20 9:49:39  对本文有异议

单例的基础上升级了一下,把对象从内存层面复制了一下,然后返回。是个新对象,但是又不是new出来的。

  1. /// <summary>
  2. /// 原型模式:单例的基础上升级了一下,把对象从内存层面复制了一下,然后返回
  3. /// 是个新对象,但是又不是new出来的
  4. /// </summary>
  5. public class Prototype
  6. {
  7. /// <summary>
  8. /// 构造函数耗时耗资源
  9. /// </summary>
  10. private Prototype()
  11. {
  12. long lResult = 0;
  13. for (int i = 0; i < 10000000; i++)
  14. {
  15. lResult += i;
  16. }
  17. Thread.Sleep(2000);
  18. Console.WriteLine("{0}被构造一次", this.GetType().Name);
  19. }
  20. /// <summary>
  21. /// 3 全局唯一静态 重用这个变量
  22. /// </summary>
  23. private static volatile Prototype _Prototype = new Prototype();
  24. /// <summary>
  25. /// 2 公开的静态方法提供对象实例
  26. /// </summary>
  27. /// <returns></returns>
  28. public static Prototype CreateInstance()
  29. {
  30. Prototype prototype = (Prototype)_Prototype.MemberwiseClone();
  31. return prototype;
  32. }
  33. //既然是单例,大家用的是同一个对象,用的是同一个方法,那还会并发吗 还有线程安全问题吗?
  34. public int iTotal = 0;
  35. public void Show()
  36. {
  37. this.iTotal++;
  38. }
  39. }

 

原文链接:http://www.cnblogs.com/taotaozhuanyong/p/11550338.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号