ابراهيم بازي نشر 17 يوليو 2023 أرسل تقرير نشر 17 يوليو 2023 هل سيتم تدريس نمط repository design pattern في هذه الدورة , وهل هو من المبادئ المهم دراستها ذاتيا ؟ 2 اقتباس
1 أسامة زيادة نشر 17 يوليو 2023 أرسل تقرير نشر 17 يوليو 2023 أنماط التصميم يتم شرحها في دورة علوم الحاسوب أما في دورة تطوير تطبيقات الويب باستخدام لغة PHP لا أعتقد أنه سوف يتم شرح repository design pattern في الدورة ، وبخصوص أهمية دراسته ،يعتبر فهم نمط Repository Design Pattern مفيدًا للمطورين الذين يعملون على تطبيقات ذات حجم كبير أو معقدة، حيث يمكن أن يؤدي استخدام النمط إلى تبسيط الهندسة البرمجية وإعادة الاستخدام أسهل. 1 اقتباس
0 Adnane Kadri نشر 17 يوليو 2023 أرسل تقرير نشر 17 يوليو 2023 فكرة نمط التوزيعة Repository pattern في أساسها هي فقط في فصل طبقة البيانات Data layer عن منطق العمل bussiness logic وباقي التطبيق، ويتم ذلك بوساطة واجهات تقوم بتجريد طلب البيانات وما الى ذلك، فبدل أن نكتب: public function index() { $tasks = Task::all(); return view('tasks.index', ['tasks' => $tasks]); } نكتب: class TaskController extends Controller { private TaskRepository $taskRepository; public function __construct(TaskRepositoryInterface $taskRepository) { $this->taskRepository = $taskRepository; } public function index() { $tasks = $this->taskRepository->getAllTasks(); return view('tasks.index', ['tasks' => $tasks]); } بحيث يكون كلاس التوزيعة المعنية كـ: <?php namespace App\Repositories; use App\Interfaces\TaskRepositoryInterface; use App\Models\Task; class TaskRepository implements TaskRepositoryInterface { public function getAllTasks() { return Task::all(); } انتبه الى انها تقوم بتطبيق واجهة TaskRepositoryInterface، هي الأخرى ستحتاج تصريح التوابع المعنية: ?php namespace App\Interfaces; interface TaskRepositoryInterface { public function getAllTasks(); } وهذه هي فكرة النمط باختصار. يمكنك تضمينه والتعامل معه بشكل عادي جدا. أما بخصوص التطرق لها في دورة PHP فلا أظن أن ذلك متوفر، اذ يعنى مسار أنماط التصميم من دورة علوم الحاسب بكل هاته الجزئيات. بتاريخ 1 ساعة قال ابراهيم بازي: وهل هو من المبادئ المهم دراستها ذاتيا ؟ ان كنت تقصده على وجه الخصوص فقد لا يكون من الضروري الملح، ولكن سيكون استزادة علم واطلاع. أما ان كنت تقصد أنماط التصميم ككل، فنعم، دراستها والاطلاع عليها سيقوم بإعطاءك دفعة لإنشاء برمجيات ذات جودة أعلى. 1 اقتباس
1 Mustafa Suleiman نشر 18 يوليو 2023 أرسل تقرير نشر 18 يوليو 2023 عليك بتعلم الأنماط الهامة أولاً، ففي مشاريع PHP ولارافيل (Laravel)، هناك العديد من أنماط التصميم (Design Patterns) وهي بالترتيب: Model-View-Controller (MVC) هو نمط تصميم شائع ومفيد في تطوير تطبيقات الويب، ويهدف إلى فصل الأجزاء المختلفة من التطبيق وتنظيمها بشكل منهجي، ولارافيل إطار عمل يعتمد على نمط MVC، حيث يوفر هيكلًا MVC مسبقًا يمكنك استخدامه لتنظيم تطبيقك. Dependency Injection (DI) يهدف إلى تقليل الاعتمادية الزائدة على الكائنات وتعزيز إعادة استخدامها واختبارها بسهولة، وفي لارافيل، تستطيع استخدام حاويات الحقن (Containers) لتنفيذ Dependency Injection وإدارة تبعيات الكائنات. Repository نمط Repository يوفر واجهة للتعامل مع البيانات، ويتم استخدامه لفصل طبقة البيانات عن طبقة الأعمال (Business Layer)، وبإمكانك استخدام ذلك النمط في لارافيل للتفاعل مع قواعد البيانات وتنفيذ العمليات المتعلقة بالبيانات. Singleton نمط Singleton يهدف إلى ضمان أن يتم إنشاء كائن واحد فقط من فئة معينة وتوفير نقطة وصول عامة إليه، وتستطيع الإعتماد عليه في لارافيل لإنشاء مكونات مشتركة في التطبيق التي تحتاج إلى مشاركة بيانات وحالة بين عدة أجزاء من التطبيق. شرح أنماط التصميم في موسوعة حسوب وإذا أردت قراءة كتابة فأنصحك بقراءة Head First design patterns. 1 1 اقتباس
السؤال
ابراهيم بازي
هل سيتم تدريس نمط repository design pattern في هذه الدورة , وهل هو من المبادئ المهم دراستها ذاتيا ؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.