part 1 | design patterns شرح

طبعا أنت software engineer شاطر مش مجرد بتكتب كود وخلاص واتفقنا على كدا ولا نسيت اوعى ازعل منك 😊

لازم تكون مهتم بال software design and architecture stack ودا موضوع كبير معناه بالمختصر بدون خوض فى تفاصيل انك مشروع يكون قابل للتعديل بعد كدا بسهوله وسهل تكبره وتقليل سطور الكود وال clean كود وغيره فى نفس الاتجاه .
طب أنت عارف أنك بتستخدمه ؟ ايو مستغرب ليه مال ال OOP دى واحده من خصائص ال software design .


⛔️دردشة

طيب كدا احنا اخذنا فكرة عن الكونسبت الكبير software design عشان تحقق المفهوم دا بتعدى بمراحل كتير تعالى نشوفهم
1- Clean Code
2- Programming Paradigm
3- Object Oriented Programming
4- Design Principles
5- Design Patterns ☺️
6- Architectural Principles
7- Architectural Styles
8- Architectural Patterns
9- Enterprise Patterns





⛔️ Design Patterns
احنا عرفنا دى جزء من أيه صح ؟ قولى صح ☺️
طيب الجزء دا مسئول عن أية وبيعمل أيه عشان يحقق الكونسبت الكبير اللى هو software design اوعى تكون نسيت ازعل منك .

خلينى بدل ما اقولك التعريف تطلعه انت أيه رأيك ؟
تخيل انت عندك كلاس بيعمل connection بالداتابيز وانت عايز طالما عملت connection بالداتابيز بتاعتك مره وجيت تجيب حاجه من الداتابيز تانى متعملش connection تانى من اول وجديد فمعنى كدا انت عايز تاخد اوبجيكت واحد من الكلاس بتاعك وكل ما تجى تعمل connection تستخدمه
طيب يبقى كدا أيه مشكلتك أنك لو جيت تعمل اوبجيكت من الكلاس بتاعك يقولك مينفعش يعنى مش مسموح ليك تستخدم object = new class();l

طيب المشكله دى قبلتك أنت بس اقولك لا قابلت ناس قبلك كتير معنى كدا ان فيه مشاكل متكرره ؟ طب والحل
اننا نجمع المشاكل دى ونحط انسب حل ليها وتكون مرجع للناس .

المشكله اللى فوق دى واحده من اشهر ال patterns .
التعريف : مجموعه من المشاكل المتكرره اتفق المبرمجين على افضل حل لكل مشكلة لتكون بذلك مرجع لجميع المبرمجين.

اذا الخلاصه ان الديزاين باترن مجموعة من الإستراتيجيات لحل مشاكل شائعة وليست مكتبه مثلا استخدمه.

🎯 مثال الشطرنج خير مثال أنت فاهم بيزك اللعبه بس المحترفين ليهم خطه عشان يعمل عليك الكش ملك


-------------------------------------------------------------------------------------------------------------------------------------

⛔️ Types of design patterns

1- Creational design patterns
2- Structural design patterns
3-Behavioral Design Patterns
كل واحد من الانواع دى مهتم بجزء وليه الباترن بتاعته ما تيجى نشوف

--------------------------------------------------------------------------------------------------------------------------------------


⛔️ Creational design patterns
كل الباترن اللى فى الفئه دى بتتعامل مع الاوبجيكت من ناحية إنشاءها حسب البرنامج اللى بعمله من الاخر يقلل من حته "new" .

مثال : لو انا عندى اوبجيكت ومحتاج اعمل واحد تانى شبهه.
الديزاين باترن اللى من نوع creational هتساعدنى انسخه بدل ما أبنى واحد جديدة .

Factory Method Pattern
Abstract Factory Pattern
Singleton Pattern
Prototype Pattern
Builder Pattern
Object Pool Pattern
دى اشهر الباترن اللى فى الفئة دى

⛔️Structural design patterns
هنا بقا يحدد العلاقات بين الاوبجيكت والكلاسات بتكون ازاى علشان اقدر افهم بناء هيكل الابليكشن الكبير بسهوله .
مثلا how sub-classes and classes interact through inheritance

Adapter Pattern
Bridge Pattern
Composite Pattern
Decorator Pattern
Facade Pattern
Flyweight Pattern
proxy Pattern
ودى اشهر الباترن اللى فى الفئة دى

⛔️ Behavioral Design Pattern
هنا بقى بيكون مهتم بدور ومسؤوليات كل اوبجيكت وطريقة تعامله مع اللى مرتبط بيه.
Chain of Responsibility Pattern
Command Pattern
Interpreter Pattern
Iterator Pattern
Mediator Pattern
Memento Pattern
Observer Pattern
State Pattern
Strategy Pattern
Template Pattern
Visitor Pattern
Null Object
ودى أشهر الباترن .

--------------------------------------------------------------------------------------------------------------------------------------

⛔️ ما قبل النهاية
طبعا احنا مش هنكتفى بالتعريف والانواع وخلاص وعشان اكيد فيه حاجات مش واضحه احنا هنمسك مجموعه باترن من كل فئة وهنشرحها يعنى تقدر تقول كدا هنعمل زى كورس design patterns وعشان البوست هنا مش هيكون كافى اننا نحط معظم التفاصيل باكواد كبيره وصور عملنا blog ان شاء الله هنحط هنا البوست وتفاصيل اكتر على ال blog ولو فيه حاجه احتاجت شرح اكتر هنعملها فديو على اليوتيوب فدا part 1 من السلسله دى


⛔️ الى اللقاء
بس كدا انا خلصت عندكوا اى تعليقات او اضافه ياريت تعرفونا ومتنساش تعمل لايك وشير وصبصكرايب معلش اندمجت شويه😍😍
يلا سلاااااام.
#Part1
#Design_patterns
#Interview_Question
#Next_Step

Comments