定义一个类,如果实例成局部对象,在这个对象中如何能使用一个全局变量呢?
--------------------
根据编程规范的要求,要减少类的耦合性,所以在类中不能直接操作类外的东西.
可是我想自定义一个ado类,可是这个类中用到的连接要是一个全局的连接对象.因为做为c/s系统,不宜做成随用随连的形式.最后保持一个连接永不关,直到整个程序关闭时才关闭连接.
所以在整序中实例化的类对象都必须使用一个已存在连接.
如何实现呢?
当前,我试过,在类是可以直接对全局对象进行操作的.但是这样据说不好.我想问规范的类应该如何设计才行呀?即这个类可以实例化局部对象,但是这个类对象中的activeconnection是一个已存在连接对象.

解决方案 »

  1.   

    那你在类中自己创建一个ADOConnection对象.
    如楼上所说,不用那么刻意化,只要不影响今后程序的扩展就行了.
      

  2.   

    那你在类中自己创建一个ADOConnection对象.
    ---------------------
    是的,这样可以,可是这样的话,这个连接的作用域就是这个对象的生存期了,也就是说即用即连,可是对于c/s来说,即用即连效率不高.一直保持连接比较了.
    所以想使用一个已经存在的连接.
      

  3.   

    如果仅是对“最后保持一个连接永不关”的话,完全可以这样:
    将ADOConnection放在一个DataModule中,进行ADO连接,直至程序退出。其间,第个Form的ADODataset使用DataModule中的ADOConnection。
      

  4.   

    作为对象的创建模式[GOF95],单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。