各位好!本人因要在项目中用到webservice,一般来说,都是一个事务的开始连接数据库,完毕后断开数据库链接,不过现在我在服务端数据库访问的操作都已经封装到类DATAACCESS,在服务程序用到的是单件模式创建的一个全局的数据库访问对象,整个数据库访问对象里面的数据库的连接对象sqlconnection是一个长连接,不知客户端并发访问服务端的时候会不会出现问题,是不是要在创建对象的时候加上lock,或者这样做根本就不合理,请给一个好的解决方案,谢谢!

解决方案 »

  1.   

    肯定会出现问题啊。当你lock的时候,(无数次测试以后)也许“没有问题”了,可是系统性能也降低到足以让人耻笑的最低点了。本来是并行的系统,你怎么就为了维系所谓的“单件模式”而动不动就lock呢?我通常能够直截了当谈论设计时绝对会避免什么“模式”名词,如果脱离实际系统设计去奢谈模式往往是成事不足败事有余的设计结果。
      

  2.   

    除非你在java论坛里侃,在.net论坛里还是优先谈设计本身吧。以前我们跟软件工程师讨论设计模式时,我第一句话就问:看过unix、linux、windows或者.net framework任何一款系统的一些源码吗?如果看过我们就直截了当地看看系统设计,等回顾了所有技术要点,最后蜻蜓点水地贴个模式标签就可以了。那些先学模式标签,然后胡乱往程序上贴,甚至生搬硬套设计模式的人,真的很可怜。