zoukankan      html  css  js  c++  java
  • 设计模式学习体会之单点模式

    单点模式,适用于那种需要先实例化,但是实例化以后应用程序域内只需唯一实例那种场景。

    网上摘来的大致代码如下:

     

    看到这里我立马想到了我新学习使用mvc.net项目里的dbcontenxt对象,我认为这个dbcontext和以前的dataset

    很类似,都是数据库内存变量,只不过dataset是表集合,和数据库的结构类似,而dbcontext则对象列表的集合。我认为对于这个

    dbcontext,适合使用单件模式。但是问题来了,上面的代码是把当前定义的类实施单件模式,那如何对任意的类实施单件模式呢?

    于是想到了泛型,就把代码改变如下

     

    当然这里T是必须有无参的公开的构造函数,所以代码也可以这么写

    如果类的构造函数带有参数呢?那怎么办,我想到了用params 来解决。

    当然,因为实例只需要第一次生成,以后调用就不需要实例化,所以,也就是说,带参数构造函数的类,实行单件模式时,

    只需在第一次使用是传入构造函数的参数,也即是说,第一次使用时这样写(xx代表构造函数参数值,yy代表类成员)

    Singleton<classname>.CreateInstance(xx,xx,xx).yyy,以后使用就可以写成

    Singleton<classname>.CreateInstance().yyy

  • 相关阅读:
    Hdu 1257 最少拦截系统
    Hdu 1404 Digital Deletions
    Hdu 1079 Calendar Game
    Hdu 1158 Employment Planning(DP)
    Hdu 1116 Play on Words
    Hdu 1258 Sum It Up
    Hdu 1175 连连看(DFS)
    Hdu 3635 Dragon Balls (并查集)
    Hdu 1829 A Bug's Life
    Hdu 1181 变形课
  • 原文地址:https://www.cnblogs.com/lindping/p/2004837.html
Copyright © 2011-2022 走看看