Активный
- Тема Автор
- #1
Паттерны решают типичные задачи. Разберем основные паттерны.
Singleton
Factory
Observer
Важные моменты:
- Используйте паттерны осмысленно
- Не злоупотребляйте паттернами
- Адаптируйте под задачи
- Документируйте использование
Паттерны упрощают решение задач!
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();
}
}
}
?>
Важные моменты:
- Используйте паттерны осмысленно
- Не злоупотребляйте паттернами
- Адаптируйте под задачи
- Документируйте использование
Паттерны упрощают решение задач!