Эволюция антипатернов Java/Kotlin. Михаил Горюнов

https://youtu.be/7be-l64jgTc?t=6863

Антипаттерн - способ решения задачи неоптимально.

Антипаттерны из доклада:

В синглтоне не должно быть изменяемого состояния.

Это синглтон с ленивой инициализацией, т.к. классы загружаются лениво. Так же он потокобезопасный так как static однопоточный.

В котлине же убрали "муки" выбора и высекли реализацию в камне:

Так показывает гугл и тоже лучше не делать (пример с билд дб):

Но вместо такого синглтона лучше заюзать класс и договорится о способе передачи.

Но это плохо, т.к. в Java такой код скомпилируется, хотя мы забыли Anonymous.