دیزاین پترن Interpreter از دسته رفتاری در مجموعه ۲۳ پترن مشهور Gang of Four است. قواعد یک زبان یا عبارت کوچک را با مجموعهای از آبجکتها تفسیر میکند.
سناریوی واقعی در فروشگاه
مدیر فروشگاه میتواند قواعدی مانند price > 100000 و in_stock را برای فیلتر کالاها تعریف کند.
نمونه در PHP
interface Rule { public function matches(Product $p): bool; }
final class AvailableRule implements Rule {
public function matches(Product $p): bool {
return $p->stock > 0;
}
}
نمونه در پایتون
class AvailableRule:
def matches(self, product):
return product.stock > 0
چه زمانی مناسب نیست؟
اگر زبان فیلتر پیچیده است، استفاده از Parser آماده معمولا امنتر و سادهتر از ساخت Interpreter دستی است.
برای شناخت جایگاه این پترن در سه دسته اصلی، دیزاین پترن را ببینید. مقاله دیزاین پترن باورژن و دوره آموزشی باورژن نیز منابع مرتبطاند.