قبل أن نبدء التعرف على Design Pattern هيا بنا نعرف أولاً كل كلمة على حدى, Design هى عبارة عن Sketch لشىء معين بيوصف إنشاء شىء فى عقلى, أما Pattern هو عبارة عن Guide Line لشىء معين يتكرر بصورة مستمرة.
إذن ما هو Design Pattern هو عبارة عن إنشاء شىء معين فى العقل ويتكرر بصفة مستمرة.
أو يمكن تعريفه على أنه:
Compose group of objects in larger structures.
Defines communication & flow between objects.
سوف نبدء بإذن الله ب Creational Patterns
هدف Creational Patterns هو فصل النظام عن كيف أو متى تم إنشاء ال Object وهذا يساعد على سهولة النظام ومرونته.
Creational Patterns بيعمل عملية Encapsulate لل Classes المستخدمة لإنشاء Object ويخفى تفاصيل كيف تمل عمل نسخه من تلك ال Classes داخل ال Object, لا يهملك كثرة الكلام الإنشائى هذا بعد قليل بعد أن تتعرف على Design Pattern سوف تعرف كيف هو مفيد ومفيد جدا فى عملية التطوير.
ويوجد أكثر من Creational Patterns وسوف نتعرض لكل منهم على حدى وبشىء من التفصيل إن شاء الله
قبل أن نبدء بشرح كل Pattern يجب أن تكون على دراية كاملة ب Object Oriented Programming وإن لم يكن لك دراية كاملة أنصحك بالرجوع لشرح OOP فى هذه المدونة.
سوف نبدء أولاً بشرح Factory Method فى الدرس القادم بإذن الله
إذن ما هو Design Pattern هو عبارة عن إنشاء شىء معين فى العقل ويتكرر بصفة مستمرة.
أو يمكن تعريفه على أنه:
1- Capturing design ideas as a "Pattern" to the Problems.
2- Design + Pattern = Reusable Working Model.
لو نظرنا فى المشاكل التى تواجهنا فى عملية التطوير نجد أنك تملك مشكلة فى المحتوى وأيضاً تملك حل مقترح ولكن ياترى هذا الحل هو الحل المناسب أم لا, Design Pattern بداخلة أشكال كثيره لحل تلك المشكلة ومعرفتك لل Design Pattern يمكنك عندما تواجهك مشكلة معينة تجد أن عقلك يوجهك لأحد طرق Design Pattern لحل تلك المشكله, على سبيل المثال لو أنك تريد عمل Sort Algorithm فأول شىء يختر فى بالك هو Bubble Sort, فهنا المشكلة هى Sorting والحل هو Bubble Sort, نفس الكلام تجده فى Design Pattern مشكلة معينة وحل يواجه تلك المشكله يقدمه إحدى طرق Design Pattern.
ماهى مشاكل ال Software?
ماهى مميزات ال Design Pattern؟
تصنيفات Design Pattern
1- Creational Patterns
2-
Structural Patterns
3-
Behavioral Patterns
Creational Patterns بيعمل عملية Encapsulate لل Classes المستخدمة لإنشاء Object ويخفى تفاصيل كيف تمل عمل نسخه من تلك ال Classes داخل ال Object, لا يهملك كثرة الكلام الإنشائى هذا بعد قليل بعد أن تتعرف على Design Pattern سوف تعرف كيف هو مفيد ومفيد جدا فى عملية التطوير.
إضغط للتكبير |
4 التعليقات
جزاكم الله خير وننتظر المزيد باذن الله
بسم الله ما شاء الله - لاول مرة اجد موقع عربى يشرح الكونسبت والاساسيات للعلوم بشكل متعمق - جزاكم الله خير
جزاكم الله خيرا
شرح مميز..
وين باقي شروحات انواع ال pattern
إرسال تعليق