这是Groovy'中的一个缺陷吗;Singleton模式的s实现?
不使用元类的单例模式的直接实现:这是Groovy'中的一个缺陷吗;Singleton模式的s实现?,groovy,singleton,Groovy,Singleton,不使用元类的单例模式的直接实现: class A{ static final instance = new A() private A(){} static getInstance(){return instance} } 为什么groovy不尊重私有构造函数?尽管我们可以凭直觉判断它是一个单一的模式,但与java不同,这样的实现并不限制程序员在这个类的范围之外使用newa()创建这个类的新实例。那么,这不应该被视为其实现中的一个缺陷吗?这是当前Groovy实现中的
class A{
static final instance = new A()
private A(){}
static getInstance(){return instance}
}
为什么groovy不尊重私有构造函数?尽管我们可以凭直觉判断它是一个单一的模式,但与java不同,这样的实现并不限制程序员在这个类的范围之外使用
newa()
创建这个类的新实例。那么,这不应该被视为其实现中的一个缺陷吗?这是当前Groovy实现中的一个缺陷,因此Groovy中没有任何东西是真正私有的。看看它的名字。我最近也写过这篇文章。这是当前Groovy实现中的一个bug,所以Groovy中没有真正私有的东西。看看它的名字。我最近也写过这篇文章。您可以将上面的代码替换为:
@Singleton
class A{
}
并通过以下方式访问singleton实例:
A singleton = A.instance
您可以将上述代码替换为:
@Singleton
class A{
}
并通过以下方式访问singleton实例:
A singleton = A.instance
你试过使用吗?你试过使用吗?