我遇到了一个用于Cassandra客户端的Groovy代码以及我努力查找有关此模式的任何相关信息,并希望对此使用枚举以及INSTANCE关键字的作用进行一些解释。
enum CassandraClient {
INSTANCE
Cluster cluster
Session session
CQLDataLoader cqlDataLoader
String contactPoint = "contactPoint"
String username = "username"
String password = "password"
private CassandraClient() {
cluster = Cluster.builder().addContactPoint(contactPoint).withCredentials(username, password).build()
session = cluster.connect()
cqlDataLoader = new CQLDataLoader(session)
}
}
答案 0 :(得分:4)
这是单例模式的实现。实际上是为了有效的Java"通过Joshua Block(一本非常好的书),这是以这种方式实现单身人士的最佳方式。
INSTANCE
是实际单枚举元素,它是单例实例。