Design Patterns in PHP


نبدا بقى فى سلسلة ال Design Pattern 
و نقول بسم الله الرحمن الرحيم

انهارده حقول تعريفه بس و هنمسك كل فترة نوع من ال Design Pattern و نتكلم عليه ليه استخدمه و امتى استخدمه و ازاى استخدمه 
دول هيكونوا ال 3 حاجات اللى هنعتمد عليهم ف كل نوع نتعلمه

طيب هو ايه اصلا بقى ال Design Pattern دا ؟
بص يا سيدى احنا لما بنيجى نبنى المشروع ﻻزم كدا نستخدم الديزاين باترن و احنا بنكتب الكود هيسهل عليا جدا و ازاى اتحكم ف الكود و ال Debug و كدا
و حيسهل ع اى مبرمج يشتغل بعدى يفهم الكود بسهوله و الدنيا ماشية ازاى

و هتلاقى اى فريم ورك فى الدنيا بيستخدم الديزاين باترن فا انت لما تبدء تشتغل بى فريم ورك و تكتب الكود حتحتاج تكتب بى انواع من الديزاين باترن حسب اللى انت محتاجه سعتها

طب هما عملوا ليه يعنى ؟ 🤔🤔
عشان المشاكل اللى بتتكرر كتير فا هو يعتبر احسن طريقة لحل مشكلة معينة بتواجه المبرمج فا بقوا يخترعولها ديزاين باترن

Predictability:
تحكم ف الكود اسهل و Debug اسرع
Reduce Cost:
اقل تكلفة و جهد ف الكود و مش عك و كله ف بعضه كدا
Reusable
بقدر استخدم الكود فى اى مشروع تانى محتاج الكود دا و اعدل عليه برحتى بقى
Scalability
اقدر ازود Features برحتى انقص برحتى مش اروح اصلح حتى تضرب فى حتى و اقلب سمكرى عمال يمحر ف الكود و خلاص 😂😂

لحد كده حلو و عرفنه شويه حاجات خفيفة نكمل بقى 😂

ال Design patterns بتتقسم ل 3 اقسام
1- Creational Patterns:
دا بيسمح بانك تنشئ ال Object منغير ما تحدد نوع ال Class
فى انواع بتخليك تنشئ Object بسهولة
بتحط حدود مين ينشئ ال object و ازاى و امتى

ايه ياعم الكلام الغريب دا 

خلاص خلاص مش ﻻزم ندخل ف تفاصيل دقيقة دلوقتى 😂😂

المهم من انواعه
-Abstract Factory
-Builder
-Factory Method
-Prototype
-Singleton

2- Structural Patterns:
بيهتم بتركيبة ال classes و ال inheritance بدون دخول ف تفصيل دلوقتى
من انواعه
-Adapter
-Bridge
-Composite
-Decorator
-Facade
-Flyweight
-Proxy

3- Behavioral Patterns:
بيهتم بالتحديد بالتواصل و العلاقات بين ال Objects
من انواعه
-Chain of responsibility
-Command
-Interpreter
-Iterator
-Mediator
-Memento
-Null Object
-Observer
-State
-Strategy
-Template method
-Visitor
و فى حاجات تانية بقى مهم نعرفها زى
-Dependency injection
-Lazy loading
-Mock object
-Null object
-Object pool
-Servant
-Type tunnel

تقريبا كدا عرفنا شوية حاجات حلوة عن ايه هو ال Design Pattern
شير بقى لو استفدت اى حاجة من الكلام الكتير دا 
و استنوا نبدء بقى المرة الجاية ناخد اول نوع و اعتقد حيكون Factory

المصدر بقى لو حد حابب يقرا تفاصيل اكتر
https://php.earth/doc/oop/design-patterns
https://sourcemaking.com/design_patterns
phptherightway.com/#design_patterns
و كتاب head first design patterns

تعليقات

المشاركات الشائعة من هذه المدونة

Singleton Desgin pattern

Chain of Responsibility Design pattern

Factory Design Pattern