---
title: "استخراج الواجهة"
type: "refactoring-technique"
slug: "extract-interface"
url: "http://localhost:3000/ar/extract-interface.md"
category: "التعامل مع التعميم"
description: "المشكلة: يستخدم عملاء متعددون نفس الجزء من واجهة الفئة. حالة أخرى: جزء من الواجهة في فئتين متطابق. الحل: انقل هذا الجزء المتطابق إلى واجهة مستقلة خاصة به."
---
# استخراج الواجهة

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

## المشكلة

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

## الحل

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

## دواعي إعادة الهيكلة

1. الواجهات (Interfaces) مناسبة جداً عندما تلعب الفئات أدواراً خاصة في مواقف مختلفة. استخدم طريقة [استخراج الواجهة](/extract-interface) للإشارة بوضوح إلى هذا الدور.
2. تنشأ حالة أخرى مناسبة عندما تحتاج إلى وصف العمليات التي تؤديها فئة ما على خادمها (server). إذا كان من المخطط السماح في النهاية باستخدام خوادم من أنواع متعددة، فيجب على جميع الخوادم تنفيذ الواجهة.

## كيفية إعادة الهيكلة

1. أنشئ واجهة فارغة.
2. أعلن عن العمليات المشتركة في الواجهة.
3. أعلن أن الفئات اللازمة تنفذ الواجهة.
4. قم بتغيير تعريفات الأنواع (type declarations) في كود العميل لاستخدام الواجهة الجديدة.
## Relations

**Similar techniques**

- [استخراج الفئة العليا](/ar/extract-superclass.md)

