Creational Design Patterns
1. Singleton Pattern
class Database {
private static ?Database $instance = null;
private function __construct() {
echo "DB Connection Created\n";
}
public static function getInstance(): Database {
if (self::$instance === null) {
self::$instance = new Database();
}
return self::$instance;
}
}
// Usage
$db1 = Database::getInstance();
$db2 = Database::getInstance();
var_dump($db1 === $db2); // true2. Factory Method Pattern
3. Abstract Factory Pattern
4. Builder Pattern
5. Prototype Pattern
🔑 Summary of Creational Patterns:
Last updated