你好
我正在开发一个网站
我有一个类是与数据库的连接
该类包含一个从数据库写入和读取的方法
当前,该类为静态及其方法
我从这样的网页上调用课程:

//mydbClass is the name of the class , not an object
mydbClass.getUserName(userID)


问题是:
 我是否需要创建一个类对象,以便每次用户请求页面时
 创建一个新对象,并与数据库进行通信,如下所示:

mydbClass mydb = new mydbClass();
mydb.getUserName(userID)


因为如果我不创建新对象
 因此,所有读取或写入数据库的用户
 将使用相同的静态对象,那么它将非常繁忙,并且可能会崩溃
 我很乐意回答
 谢谢
米查

最佳答案

如果您想像静态类一样继续使用类,但要使用状态,则可以实现单例模式

http://en.wikipedia.org/wiki/Singleton_pattern

public class mydbClass{
    private static mydbClass  _current = new    mydbClass();
    public static mydbClass Current{
        get{
            return _current;
        }
    }
    private mydbClass(){}
    public User getUserName(userid){
    //be sure to create a new connection each times
    }
}


这样做的好处是,您可以在此类中简单地实现接口,打破依赖关系,然后对其进行模拟以进行测试。

无论如何,您始终必须在每次请求时都创建一个新连接,而不创建静态连接对象。

10-08 08:15