FabioJ ha scritto:
Teoricamente il funzionamento del pattern Singleton l'ho capito e non e' di difficile comprensione.
Sì ma perlomeno in Java si può implementare in svariati modi, dipende se la istanza va creata subito quando la classe stessa viene caricata o solo alla prima necessità/richiesta e dipende se bisogna applicare della sincronizzazione per un accesso "concorrente".
Insomma, ci sono svariati idiomi, alcuni anche particolari.
FabioJ ha scritto:
La domanda su JUnit di Singleton dovrebbe spiegare il codice utilizzato per far funzionare questo pattern ?? ( Credo )
Nello unit-testing una classe va testata in "isolamento" (altrimenti
non è uno
unit-test). Se un oggetto di tipo A ha bisogno di un oggetto di tipo B e uno di tipo C, allora volendo testare A bisognerebbe "staccare" gli oggetti B e C reali e inserirci degli oggetti B e C "fittizi", che si possano pilotare e "instrumentare" come si vuole ai fini del test.
Se la applicazione in generale usa meccanismi di
Dependency Injection, è facile. Ma il pattern Singleton in sostanza va contro questo, quindi rende MENO facile fare dello unit-test. Quindi bisogna vedere cosa fa il Singleton e di cosa ha bisogno.