Dit vroeg ik mij laatst af. Ik ben een vrijwel onbekende in de wereld van OOP en de daarbijhorende 'design patterns'. Maar als je deze twee voorbeelden ziet:
vs.
Oftewel mijn vraag: waarom gebruikt men niet gewoon static properties en methods ipv een Singleton? Aangezien van er ook maar 1 class kan bestaan. Nu hoef je ook niet eerst getInstance() aan te roepen.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| <?php class Singleton { static private $instance; private function __construct() {} private function __clone() {} static public function getInstance() { if (!self::$instance instanceof self) { self::$instance = new Singleton(); } return self::$instance; } public function connect() { // typische Singleton functie } } ?> |
vs.
PHP:
1
2
3
4
5
6
7
| <?php class Singleton { static public function connect() { // typische Singleton functie } } ?> |
Oftewel mijn vraag: waarom gebruikt men niet gewoon static properties en methods ipv een Singleton? Aangezien van er ook maar 1 class kan bestaan. Nu hoef je ook niet eerst getInstance() aan te roepen.