استخراج الواجهة.
Problem
يستخدم عملاء متعددون نفس الجزء من واجهة الفئة. حالة أخرى: جزء من الواجهة في فئتين متطابق.
Solution
انقل هذا الجزء المتطابق إلى واجهة مستقلة خاصة به.
##Example
قبل

بعد

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