"Se ci sono due o più modi di fare una cosa,
e uno di questi modi può condurre a una catastrofe,
allora qualcuno la farà in quel modo.

(Edward Murphy)

Abstract singleton

Dom, 19/01/2014 - 22:33 -- arturu

Come detto precedentemente siamo arrivati al punto in cui dobbiamo costruire i diversi gestori: sessione, locale, routing, eccetera. Anche queste classi devono essere istanziante una sola volta, tanti singleton per intenderci. Dato che non è una cosa buona scrivere tante volte lo stesso codice dobbiamo fare in modo di scriverlo una sola volta. Se ci ricordiamo, tra le linee guida, al primo punto avemo stabilito: "... ricercare le strade percorse da altri sviluppatori e prendere delle decisioni in merito", e a questo vi viene incontro la soluzione proposta da Michael Fenwick. Con qualche piccola modifica la nostra classe astratta si presenta come segue:

/app/Concerto/Singleton.php

Vedi Codice Su GitHub

Di conseguenza le due classi singleton sviluppate in precedenza diventano:

/app/Concerto/Core.php

Vedi Codice Su GitHub

/app/Concerto/Config.php

Vedi Codice Su GitHub