Παρασκευή, 15 Ιουλίου 2016

Design Patterns - Singleton



Από σήμερα θα προσπαθήσω να εξηγήσω και να υλοποιήσω σε κώδικα php διάφορα design patterns. Ξεκινάμε λοιπόν με το Singleton.

Πρόβλημα: Θέλουμε το πρόγραμμα μας να έχει μόνο ένα instance μιας κλάσης. Ένα  παράδειγμα αυτού είναι η σύνδεση με μία βάση δεδομένων.

Λύση: Για να το πετύχουμε αυτό θέτουμε τον constructor σαν private ώστε να μην μπορεί να δημιουργήσει νέο instance από μόνος του και αναθέτουμε το instantiation σε μια άλλη μέθοδο static. Στη μέθοδο αυτή γίνεται έλεγχος αν υπάρχει ήδη κάποιο instance της κλάσης μας (Lazy Instantiation) και αν υπάρχει απλά την επιστρέφει. Αν δεν υπάρχει φτιάχνει ένα νέο instance και το επιστρέφει

Παράδειγμα σε php:



Github example: Singleton

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου