x32x01
أدارة أكتب كود
- بواسطة x32x01 ||
عزيزي الجونيور او حتي السينيور ..
اكبر غلطه ممكن تعملها في حق نفسك وفي حق المشروع بتاعك انك تستخدم اكتر من 2 IF في الفانكشن بتاعتك زي المثال الموضح
يعني مثلا قدامك فانكشن بتحسب السعر بناء علي نوع الاشتراك بتاعك ..
هل منطقي كل اشتراك اقعد اضيف if statement
واعمل القصه دي كلها
طب ايه الحل؟ هو الـ Polymorphism
التعريف : هو مفهوم مهم في البرمجة الكائنية (OOP) بيسمح للأشياء(objects) من فئات مختلفة إنها تتعامل بنفس الطريقة، وده بيساعد في كتابة كود أكتر مرونة وقابلية للصيانة.
الشرح : يتحقق من خلال استخدام الواجهات (interfaces) أو الفئات المجردة(abstract classes). الفكرة إنك بتعرف واجهة أو فئة مجردة بتحتوي على دوال (methods) معينة، وبعدين الفئات اللي بتنفذ الواجهة أو بترث الفئة المجردة بتوفر تنفيذ مختلف للدوال دي
يعني هنعمل interface او abstractاسمه PriceCalculator وجواه فانكشن اسمها calculate
نروح بعد كدا نعمل كلاس لكل Type عندنا ونحط فيها لوجيك فانكشن الـ calculate
وكدا تقدر تعتمد علي ال classes دي في الحسابات
كدا الكود بقي
اكبر غلطه ممكن تعملها في حق نفسك وفي حق المشروع بتاعك انك تستخدم اكتر من 2 IF في الفانكشن بتاعتك زي المثال الموضح
يعني مثلا قدامك فانكشن بتحسب السعر بناء علي نوع الاشتراك بتاعك ..
هل منطقي كل اشتراك اقعد اضيف if statement
واعمل القصه دي كلها
طب ايه الحل؟ هو الـ Polymorphism
التعريف : هو مفهوم مهم في البرمجة الكائنية (OOP) بيسمح للأشياء(objects) من فئات مختلفة إنها تتعامل بنفس الطريقة، وده بيساعد في كتابة كود أكتر مرونة وقابلية للصيانة.
الشرح : يتحقق من خلال استخدام الواجهات (interfaces) أو الفئات المجردة(abstract classes). الفكرة إنك بتعرف واجهة أو فئة مجردة بتحتوي على دوال (methods) معينة، وبعدين الفئات اللي بتنفذ الواجهة أو بترث الفئة المجردة بتوفر تنفيذ مختلف للدوال دي
يعني هنعمل interface او abstractاسمه PriceCalculator وجواه فانكشن اسمها calculate
نروح بعد كدا نعمل كلاس لكل Type عندنا ونحط فيها لوجيك فانكشن الـ calculate
وكدا تقدر تعتمد علي ال classes دي في الحسابات
كدا الكود بقي
- أقل تعقيد
- أسهل في الفهم والتطوير
- أكثر مرونه وقابلية للصيانة