Skip to main content

Adapter Design Pattern 😃

 Adapter Design Pattern 😃





لو افترضنا انك عامل integration مع بوابة دفع و مستخدم interface والي بتحتوي علي methods زي (auth , prepare , pay)

و انطلب انك هتضيف بوابة دفع تانية لكن هنا

هتستخدم third party library في الـ integration و بالفعل مش هينفع تستخدم interface الي كنت عاملها و دا بسبب ان integration هنا محتاج فقط (pay method )

طبعا استخدامك لنفس interface مفروغ منه علشان SOLID و حاجات تانية

تفتكر اي الحل ؟

الحل هنا ببساطه انك تجيب حاجه زي موصل أو converter يقدر يخلي

new integration class تتناسب مع current interface و دا هيبقي Adapter .


- دا يعتبر أول pattern هيتم شرحه في مجموعة structural patterns و الي بتحل لك

مشاكل structure code و بيستخدم بكثرة عند إنشاء frameworks .


هتلاقي مرفق مثال مشهور أوي و هوه ان شاحن الموبايل بيبقي ثلاثي علشان تقدر

تستخدمه بتحتاج converter و الي هوه هنا

بيمثل adapter class

Comments

Popular posts from this blog

  Who am i ?  Contact Us : Name : Mohamed Fathi  Email : mohamedkdr66@gmail.com About Me : Graduation: I've graduated from Faculty of Specific Education, Department of Computer Teacher Preparation,I choosed field of web development . I was training with courses from the Internet and courses from Udemy website (MOOC). I developed many websites, including an educational website for students of the first  and second grades of high school. Training : After graduation I joined the course for educating one million arab programmers . I finished it in just twice weeks , I got the certificate from the Emirates Scholarship and the educational website Udacity. I also joined at the Information Technology Institute, which is known for its strength in Technology fields. I graduated from the institute in 2019. Certifications: - One million Arab programmers certificate from Udacity and the Emirates Scholarship . - Certificate from ITI Institute (open source track). Tech Skills :...

Laravel Project does not need apache

من الحاجات الغريبة الي اكتشفتها بالصدفة كدا و وقفت قدامها فترة مش فاهم حاجه ... استغربت ان زميلي يعمل run لمشروع Laravel بدون ما يعمل run لل apache server .. php artisan serve بفضل الله لما ركزت كدا شوية روحت اقرأ ملف server.php الي موجود في root folder of laravel project و لقيت السطرين دول الي في screen -------------------- لارافيل معتمد علي built-in PHP web server و بالتالي مش محتاج apache server علشان تعمل run لل project -------------------- من الأسئلة المهمة هنا : هل ممكن نستبدل apache او nginx ب php server ؟ الاجابة باختصار لا و السبب ان السيرفر دا في الاساس اتعمل من أجل developers وليس full feature .. شوف التحذير الي في أول manual هنا PHP Manual References : Github Laravel server.php https://stackoverflow.com/questions/27485505/symfony-apache-vs-built-in-php-server https://www.php.net/manual/en/features.commandline.webserver.php