Helper فانکشنی کوچک و قابل استفاده مجدد است که کار تکراری یا آمادهسازی داده را ساده میکند. هلپر میتواند در PHP، پایتون، Go یا C# وجود داشته باشد و به فریمورک خاصی وابسته نیست. اگر تابع به قواعد کسبوکار بزرگ تبدیل شد، شاید جای مناسبتر آن سرویس یا کلاس دامنه باشد.
PHP
function money(int $amount): string {
return number_format($amount) . ' تومان';
}
echo money(250000);
Python
def format_order_id(number: int) -> str:
return f'ORD-{number:06d}'
print(format_order_id(42))
Go
func OrderCode(id int) string {
return fmt.Sprintf("ORD-%06d", id)
}
C#
public static string OrderCode(int id) => $"ORD-{id:D6}";
چه زمانی هلپر مناسبی نیست؟
هلپری با نام مبهم مثل doEverything که دیتابیس را تغییر میدهد و ایمیل میفرستد وابستگیها را پنهان میکند. در این حالت DI و سرویس مشخص طراحی شفافتری ایجاد میکنند.
اصطلاحات مرتبط: تابع، سرویس کانتینر، تزریق وابستگی، کلین کد.