Originariamente inviato da weppos
No, ferma, il mio riferimento al singleton non era riguardo l'ereditarietà multipla (anche se ovviamente il traits ha anche questo come fine), quanto alla riusabilità del codice.
Invece di scrivere ogni volta la logica di un singleton, è sufficiente scriverla una volta sola e mixarla.

Perché scrivere ogni volta decine di righe di codice in una classe, quando puoi farlo una volta sola (e testarlo una volta sola)?
eh? cosa ti cambia usare use treatSingleton;
o
extends Singleton?

ho pure scritto la classe di esempio da estendere ... non la devi scrivere per ogni Singleton, la usi e basta. Inoltre trat sul costruttore li vedo malissimo ... ma quello che faresti con i treat in Singleton, come gia' detto e mostrato, puoi gia' farlo senza problemi.

Una classe estesa che implementa un singleton non presente nel parent ha, secondo me, qualcosa che non va a livello di logica. Io userei extends Singleton per quella classe e se proprio necessario treat per metodi comuni, non viceversa.