Java singleton方法是否适合访问/维护数据库和internet连接
因此,我正在开发一个需要本地数据库连接的应用程序,并使用一些web服务来回发送和接收数据。Java singleton方法是否适合访问/维护数据库和internet连接,java,design-patterns,static,singleton,Java,Design Patterns,Static,Singleton,因此,我正在开发一个需要本地数据库连接的应用程序,并使用一些web服务来回发送和接收数据。 每当我需要和数据库操作时,我就会创建一个 DbConnectionclass(这是我用来获取 数据库)并对其执行操作 类似地,我使用DefaultHttpClient和 创建一个相同的静态对象,并在需要时 连接并调用webserviceI创建HttpResponse对象 并获取响应数据 1)我是否使用了正确的方法或模式? 2)还有一件事,关注点2静态和单例的工作方式相同吗? 我是否使用了正确的方法或模
- 每当我需要和数据库操作时,我就会创建一个
class(这是我用来获取 数据库)并对其执行操作DbConnection
- 类似地,我使用
和 创建一个相同的DefaultHttpClient
对象,并在需要时 连接并调用webserviceI创建静态
对象 并获取响应数据HttpResponse
单身是一种设计模式。静态是可用于实现单例模式的Java语言特性。所以他们不是同一件事(甚至不是同一种事),但他们是相关的。哇。你的问题比你想象的要多得多,但为了给你一个简短的答案,我见过的大多数项目(不使用ORM,这是你可能想研究的东西)都会有一个类,它围绕着DB对象,调用所有适当的查询、处理转义和c。它将实现一个公共接口,这样工厂类就可以为需要匹配接口的对象提供服务
至于单例/静态,这取决于您的需要。在我上面提到的模式中,Singleton要优越得多:它意味着访问数据库的每个对象都能够存储对db对象的本地引用。这还意味着您可以在父类中封装获取单例的过程。使用静态类不能提供这种选择。哇。你的问题比你想象的要多得多,但为了给你一个简短的答案,我见过的大多数项目(不使用ORM,这是你可能想研究的东西)都会有一个类,它围绕着DB对象,调用所有适当的查询、处理转义和c。它将实现一个公共接口,这样工厂类就可以为需要匹配接口的对象提供服务
至于单例/静态,这取决于您的需要。在我上面提到的模式中,Singleton要优越得多:它意味着访问数据库的每个对象都能够存储对db对象的本地引用。这还意味着您可以在父类中封装获取单例的过程。使用静态类不能提供这种选择。回答第1点-是的,单例是正确的方法。理想情况下,您必须只建立到数据库的单一连接。Sinleton将帮助您实现这一目标 回答第2点-无静态不一定像单例一样工作。如果我们多次调用以单例模式创建对象,它将返回相同的对象。但如果多次调用create object,则可以多次创建静态对象
但是您可以确保静态对象只创建一次,这将与单例模式相同。回答第1点-是的,单例是正确的方法。理想情况下,您必须只建立到数据库的单一连接。Sinleton将帮助您实现这一目标 回答第2点-无静态不一定像单例一样工作。如果我们多次调用以单例模式创建对象,它将返回相同的对象。但如果多次调用create object,则可以多次创建静态对象
但您可以确保静态对象只创建一次,这将与单例模式相同。没有单例总是不好的。除非您被迫使用它们,否则请避免使用它们(因为某些愚蠢的框架不会给您其他选择)
- 他们制造