recent
احدث الدروس

ٍالدرس الاول - مفهوم الـ Design Pattern

 اهلا وسهلا بكم احبائي ان شاءالله في هذه المحاضرة سوف نتعلم ما اذا نعني بـ Solid Principle … لكن قبل البدء بهذا المفهوم .. يجب ان نعطيكم فكرة عن الـDesign Pattern او ماهو مفهوم الـ Design Pattern  . حيث يجب على كل مبرمج ان يفهم جيدا هذا المصطلح لما له من اهمية كبيرة في اولى خطواتك البرمجية وفهم  اساسيات الكود البرمجي ولماذا نكتب التعليمات البرمجية وما المفهوم  من ذلك  وما غرضها .

فلو افترضنا انك تعمل على مشروع برمجي او تخطط لبنا مشروع برمجي . فكيف تخطط لبناء هذا المشروع وما هي الطريقة التي سوف تؤسس مشروعك  البرمجي وكتابة الكود لهذا المشروع .

وحتى تتحاشى مشكلات كتابة الكود لمشروعك . فينصح ان تختار طريقة معينة لكتابة الكود البرمجي وهذه الطريقة قد تم تجربتها وتمت عليها عملية الاختبار لسلامة الكود .. فلذلك جاء مصطلح يسمى الـ Design Pattern  وهذا المصطلح فيه اكثر من طريقة واكثر من Pattern  تم تجربتها من قبل  .

اذن  الـ Design Pattern :  : هي مفاهيم وحلول لمشاكل برمجية تكررت اكثر من مرة وتم الاتفاق عليها بانها  الطرق المناسبة لحل مثل هذه المشاكل او الحل الامثل لمشكلة معينه 

للتوضيح اكثر .. لو ا فترضنا ان  كتابة الكود ممكن ان يسبب مشاكل شائعة ومعروفة لذلك يجب اختيار طريقة مناسبة ليتم تطبيقها لكتابة الكود من الـ مجموعة الـ Design pattern ولتحاشي وقوع مثل هذه المشاكل .

بمعنى ماهي افضل طريقة برمجية ممكن ان تكتب فيها هذا الكود البرمجي لتحاشي وقوع مشاكل في المستقبل ويكون الكود قابل للتعديل في اي وقت من غير حدوث مشاكل برمجية تؤثر على المشروع 

اذا الفائدة  من استخدام الـ Design Pattern  هو استخدام  افضل الطرق المناسبة لكتابة الكود البرمجي حتى لانقع في  مشاكل  برمجية في المستقبل اذا طلب التعديل ويتم حلها  في اقل مجهود 

وهناك فائدة اخرى مهمة وهي انك تقلل من كتابة الكود بطريقة بسيطة فقد يكون الكود متشعب ومترابط  ومتداخل مع بعضه وفي اكثر من مكان .مما يصعب تتبع الكود في حالة التعديل . لذلك جاء الـ مفهوم ال Design pattern  ليقلل من الترابط ما بين اجزء الكود .

وهناك مفهوم مترابط مع الـ Design pattern  يسمى الـ Solid Principle  بمعنى انها مجموعة من المبادئ والقواعد التي يجب ان  تمشي عليها عندما تقوم ببناء البرنامج لحل مشاكل معينة .. وكلمة Solid  هي ليست مصطلع ولكن كل  حرف يمثل قاعدة ومبدأ مفهوم برمجي .. لاحظ  معي الصورة 



الصور اعلاه توضح اننا معنا خمس مبادئ مأخوذة من كلمة SOLID .. وهي كتالي :

  1. S = Single Responsibility Principle  : بمعنى ان المكان الذي اكتب فيه الكود يجب ان يكون مسؤول عن  عملية معينة او شئ محدد 
  2. O =Open/Close Principle :  بمعنى ان  المكان الذي كتبت فيه الكود يكون مغلق ولكن مفتوح لعملية التطوير على الكود .
  3. L =Liskov Substation Principle : هذا المفهوم خاص بالوراثة  فمثلا لو معنا Object  بتورث من بعضها فمن الممكن ان استخدام  نفس الـ Object  في مكان  اخر من غير ان يؤثر ذلك على الكود بمعنى لو انا معي Object A يورث من  Object B  فلو قمت بعمل استبدال اي A مكان B  يعمل بشكل طبيعي 
  4. I =Interface Segregation Principle :  بمعنى مبدأ الفصل للواجهة ..
  5. D = Dependency Inversion principle : بمعنى لو معنا Class به دالة وهذا الكلاس يورث من نفس  الـ Interface  عندئذا الـ Classe  يجب ان لايعرف عن تنفيد هذه الدالة في الـ Interface 
الخلاصة .. عند تطبيق مفهوم الـ Design Pattern  يجب مراعاة هذه المبادئ التي ذكرناها من  اجل اختيار الطريقة المناسبة لكتابة الكود ومن اجل تحاشي المشاكل  في حالة التعديل في المستقبل وباقل مجهود 



author-img
دروس ومشاريع برمجية - جديد التقنية والابداع

تعليقات

ليست هناك تعليقات
إرسال تعليق
    google-playkhamsatmostaqltradent