ايمن ميلاد نشر 10 سبتمبر أرسل تقرير نشر 10 سبتمبر (معدل) السلام عليكم ورحمة الله وبركاته ممكن شرح لهم الاثنين ومافاءدة منهم معا دكر مثال تم التعديل في 10 سبتمبر بواسطة Mustafa Suleiman تعديل عنوان السؤال 1 اقتباس
0 Mustafa Suleiman نشر 10 سبتمبر أرسل تقرير نشر 10 سبتمبر لو أردنا التشبيه فتخيل أنك في مطعم، سيصبح (النادل Facade) أي الواجهة هي مثل النادل في المطعم، أنت تطلب منه الطعام (تستخدم الواجهة) دون الحاجة للذهاب إلى المطبخ بنفسك ومعرفة كيفية تحضيره، أي النادل يوفر لك واجهة بسيطة وسهلة للطلب. في حين المطبخ (Service Container حاوية الخدمات) هي مثل المطبخ في المطعم، حيث تحتوي على جميع الطهاة (الخدمات) والمكونات اللازمة لتحضير الوجبات (وظائف تطبيقك)، بالتالي لا تحتاج للدخول إلى المطبخ ومعرفة تفاصيل تحضير الطعام، بل تكتفي بالطلب من النادل. إذن هي بمثابة صندوق أدوات يحتوي على جميع الأدوات (الخدمات) التي يحتاجها تطبيق لارافل للعمل بشكل صحيح، وتلك الأدوات تشمل قواعد البيانات، نظام التخزين المؤقت، نظام إرسال البريد الإلكتروني، وغيرها الكثير. فلارافل تأتي مع مجموعة من الخدمات الجاهزة التي تُسَهّل تطوير التطبيقات وتلك الخدمات مُعرّفة مُسبقًا في لارافل وتُضاف تلقائيًا إلى حاوية الخدمات.، مثل: نظام قواعد البيانات Eloquent. نظام التخزين المؤقت Cache. نظام إرسال البريد الإلكتروني Mail. نظام المصادقة Authentication. وعند استخدام حزم لارافل الخارجية، تُسجّل تلك الحزم خدماتها الخاصة في حاوية الخدمات، وبتلك الطريقة، باستطاعتك استخدام خدمات الحزمة بسهولة في تطبيقك. وبإمكانك أنت إضافة خدمات إلى الحاوية لتنظيم منطق عمل تطبيقك وتطبيق مبدأ فصل الاهتمامات Separation of Concerns، ستجد تفصيل هنا: حاوي الخدمات (Service Container) في Laravel الأمر يسير كما يلي: تطلب من النادل (تستخدم الواجهة) عندما تريد خدمة معينة في تطبيقك، فأنت تستخدم الواجهة المخصصة لها. النادل يخبر المطبخ (الواجهة تصل لحاوية الخدمات) تقوم الواجهة بالتواصل مع حاوية الخدمات للحصول على الخدمة التي طلبتها. المطبخ يُحضر الطعام (حاوية الخدمات تُجهّز الخدمة) تعمل حاوية الخدمات على تجهيز الخدمة التي طلبتها مع جميع التبعيات اللازمة. النادل يُقدم لك الطعام (الواجهة تعود بالنتيجة) تقوم الواجهة بإرجاع نتيجة الخدمة التي طلبتها بطريقة مبسطة وسهلة التعامل معها. مثلاً لو تريد إرسال بريد إلكتروني من تطبيقك، فبدلاً من كتابة كود معقد للاتصال بخادم البريد الإلكتروني وإرسال الرسالة، فببساطة تعتمد على خدمة البريد الإلكتروني المتوفرة في حاوية الخدمات: use Illuminate\Support\Facades\Mail; Mail::to('user@example.com')->send(new WelcomeEmail()); 1 اقتباس
السؤال
ايمن ميلاد
السلام عليكم ورحمة الله وبركاته
ممكن شرح لهم الاثنين ومافاءدة منهم معا دكر مثال
تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.