فصل مصدر الوقت عن منطق البرنامج
تمرير الاعتماد للدالة بيخلي اختبار السلوك سهل من غير انتظار الوقت الحقيقي
شغل المثال بإستخدام Node.js لتوضيح الفكرة ويمكن تطبيق نفس المبدأ في لغات تانية
المثال العملي
function greeting(clock) {
const hour = clock();
return hour < 12 ? 'Good Morning' : 'Good Evening';
}
console.log(greeting(() => 9));
console.log(greeting(() => 18));النتيجة
Good Morning
Good Eveningالدالة تستقبل طريقة الحصول على الساعة بدل قراءتها بنفسها وده مثال بسيط على Dependency Injection
جرب بنفسك
أضف اختبار الساعة 12 وحدد بدقة هي تبع أي فترة