استبدال التفويض بالوراثة.
تحتوي فئة ما على العديد من الدوال البسيطة التي تفوض العمل إلى جميع دوال فئة أخرى.
جعل الفئة وارثة للفئة المفوضة، مما يجعل دوال التفويض غير ضرورية.
##Example


##Why Refactor
التفويض هو نهج أكثر مرونة من الوراثة، لأنه يسمح بتغيير كيفية تنفيذ التفويض ووضع فئات أخرى هناك أيضًا. ومع ذلك، يفقد التفويض فائدته إذا كنت تقوم بتفويض الإجراءات إلى فئة واحدة فقط وإلى جميع دوالها العامة.
في مثل هذه الحالة، إذا استبدلت التفويض بالوراثة، فستقوم بتطهير الفئة من عدد كبير من دوال التفويض وتوفر على نفسك عناء إنشائها لكل دالة جديدة في فئة التفويض.
##Benefits
- يقلل من طول الكود. لم تعد كل دوال التفويض هذه ضرورية.
##How to Refactor
-
اجعل الفئة فئة فرعية (subclass) من فئة التفويض.
-
ضع الكائن الحالي في حقل يحتوي على مرجع لكائن التفويض.
-
احذف الدوال ذات التفويض البسيط واحدة تلو الأخرى. إذا كانت أسماؤها مختلفة، فاستخدم إعادة تسمية الدالة لمنح جميع الدوال اسمًا موحدًا.
-
استبدل جميع المراجع إلى حقل التفويض بمراجع إلى الكائن الحالي.
-
قم بإزالة حقل التفويض.