Durante l'implementazione di uno dei miei moduli, avevo bisogno di un singleton per una delle mie classi, ad esempio ModuleManager. Invece di creare una classe con criteri di singleton, ho creato un'interfaccia ModuleManager per definire l'API e ho implementato questa interfaccia con una classe anonima in modo che non ci possa essere un'altra implementazione o nessuna altra istanza può essere creata! Questo singleton può ancora essere rotto? Sto interpretando male questo come singleton? potrebbe essere ma mi consente di avere solo un'istanza di ModuleManager.
public interface ModuleManager{
void manage();
}
public ModuleManager mgr = new ModuleManager() {
public void manage() { s.o.p("manage"); }
}