Является ли это недостатком реализации Groovy шаблона Singleton? - PullRequest
1 голос
/ 08 марта 2012

Прямая реализация шаблона Singleton без использования метакласса:

class A{
    static final instance = new A()
    private A(){}

    static getInstance(){return instance}
} 

Почему приватный конструктор не уважает groovy?Хотя по интуиции можно сказать, что это шаблон, который смотрит на шаблон однозначно, в отличие от java, такая реализация не ограничивает программиста от создания нового экземпляра этого класса с использованием new A() вне области действия этого класса.Так не должно ли это рассматриваться как недостаток в его реализации?

Ответы [ 2 ]

3 голосов
/ 08 марта 2012

Вы можете заменить код выше на:

@Singleton
class A{
} 

и доступ к экземпляру синглтона через:

A singleton = A.instance
1 голос
/ 08 марта 2012

Это ошибка в текущей реализации Groovy, поэтому в Groovy нет ничего приватного. Взгляните на его JIRA выпуск . Я также недавно написал короткую статью .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...