Паттерны проектирования в PHP

Активный
Статус
Сообщения
516
Лайки
32

8

месяц на сайте

Паттерны решают типичные задачи. Разберем основные паттерны.

Singleton
Код:
<?php
class Database {
    private static $instance = null;
    
    private function __construct() {}
    
    public static function getInstance() {
        if(self::$instance === null) {
            self::$instance = new self();
        }
        return self::$instance;
    }
}
?>

Factory
Код:
<?php
class UserFactory {
    public static function create($type) {
        switch($type) {
            case "admin":
                return new Admin();
            case "user":
                return new User();
            default:
                throw new Exception("Unknown type");
        }
    }
}
?>

Observer
Код:
<?php
class Subject {
    private $observers = [];
    
    public function attach($observer) {
        $this->observers[] = $observer;
    }
    
    public function notify() {
        foreach($this->observers as $observer) {
            $observer->update();
        }
    }
}
?>

Важные моменты:
- Используйте паттерны осмысленно
- Не злоупотребляйте паттернами
- Адаптируйте под задачи
- Документируйте использование

Паттерны упрощают решение задач!
 

1 человек читают эту тему (Всего: 1, Пользователей: 0, Гостей: 1)

Сверху