دیزاین پترن Template Method از دسته رفتاری در مجموعه ۲۳ پترن مشهور Gang of Four است. اسکلت ثابت یک فرایند را در کلاس پایه تعریف می‌کند و گام‌های متغیر را به زیرکلاس‌ها می‌سپارد.

سناریوی واقعی در فروشگاه

وارد کردن محصول از CSV و XML مراحل یکسانی مانند اعتبارسنجی و ذخیره دارد اما شیوه Parse متفاوت است.

نمونه در PHP

abstract class Importer {
    final public function run(string $file): void {
        foreach ($this->parse($file) as $row) { $this->save($row); }
    }
    abstract protected function parse(string $file): array;
    abstract protected function save(array $row): void;
}

نمونه در پایتون

class Importer:
    def run(self, path):
        for row in self.parse(path): self.save(row)
    def parse(self, path): raise NotImplementedError

چه زمانی مناسب نیست؟

Template Method با ارث‌بری کار می‌کند و برای تنوع‌های زیاد گاهی Composition و Strategy انعطاف بیشتری دارند.

برای شناخت جایگاه این پترن در سه دسته اصلی، دیزاین پترن را ببینید. مقاله دیزاین پترن باورژن و دوره آموزشی باورژن نیز منابع مرتبط‌اند.