كتابات
دقيقة قراءة
تصميم خدمات Laravel صغيرة وواضحة
طريقة عملية للحفاظ على service classes مركزة دون تحويل المشروع إلى شبكة abstractions يصعب تتبعها.
تصبح تطبيقات Laravel صعبة التغيير عندما يعيش كل سير عمل داخل controller أو job أو model event. يمكن للـ service class أن يساعد، لكن فقط إذا كان يحمي حداً حقيقياً في النظام.
ابدأ من سير العمل
سمّ الخدمة باسم الفعل التجاري الذي تنجزه. الخدمة الجيدة تجيب عن سؤال واضح: ما الذي يتغير في النظام عندما تنجح هذه العملية؟
لا تنشئ خدمة فقط لنقل الكود بعيداً عن controller. يجب أن تجعل الفئة الجديدة الاختبار أو المراجعة أو إعادة الاستخدام أسهل.
اجعل الاعتمادات صريحة
الاعتمادات في constructor إشارة تصميم مهمة. إذا احتاجت الخدمة إلى عدد كبير من collaborators، فغالباً أن سير العمل يفعل أكثر مما يجب.