Что такое Template Method?

Ответ

Базовый класс задает скелет алгоритма (шаги), подклассы переопределяют отдельные шаги.

abstract class DataImporter {
    final public function import(string $path): void {
        $data = $this->read($path);
        $normalized = $this->normalize($data);
        $this->persist($normalized);
    }
    abstract protected function read(string $path): array;
    abstract protected function normalize(array $data): array;
    protected function persist(array $data): void { /* default */ }
}

Переиспользование общей логики без дублирования. Хук-методы - опциональные переопределяемые шаги.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.