Theme
Primary Color

فصل مصدر الوقت عن منطق البرنامج

تمرير الاعتماد للدالة بيخلي اختبار السلوك سهل من غير انتظار الوقت الحقيقي

شغل المثال بإستخدام 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 وحدد بدقة هي تبع أي فترة

programming شرح