ConstructiCat Logo
CodeBust.
Browse section ▾

استخراج الواجهة.

Problem

يستخدم عملاء متعددون نفس الجزء من واجهة الفئة. حالة أخرى: جزء من الواجهة في فئتين متطابق.

Solution

انقل هذا الجزء المتطابق إلى واجهة مستقلة خاصة به.

##Example

قبل
Extract Interface - Before
بعد
Extract Interface - After

##Why Refactor

  1. الواجهات (Interfaces) مناسبة جداً عندما تلعب الفئات أدواراً خاصة في مواقف مختلفة. استخدم طريقة استخراج الواجهة للإشارة بوضوح إلى هذا الدور.

  2. تنشأ حالة أخرى مناسبة عندما تحتاج إلى وصف العمليات التي تؤديها فئة ما على خادمها. إذا كان من المخطط السماح في النهاية باستخدام خوادم من أنواع متعددة، فيجب على جميع الخوادم تنفيذ الواجهة.

##How to Refactor

  1. أنشئ واجهة (interface) فارغة.

  2. أعلن عن العمليات المشتركة في الواجهة.

  3. أعلن أن الفئات اللازمة تنفذ (implement) الواجهة.

  4. قم بتغيير تعريفات الأنواع (type declarations) في كود العميل لاستخدام الواجهة الجديدة.