شعار ConstructiCat
CodeBust.
تصفح القسم ▾

تدرجات الوراثة المتوازية.

كلما قمت بإنشاء فئة فرعية (subclass) لفئة ما، تجد نفسك بحاجة إلى إنشاء فئة فرعية لفئة أخرى.

##العلامات والأعراض

كلما قمت بإنشاء فئة فرعية (subclass) لفئة ما، تجد نفسك بحاجة إلى إنشاء فئة فرعية لفئة أخرى.

abstract class Engine {}
class CarEngine extends Engine {}
class TruckEngine extends Engine {}

abstract class EngineView {}
class CarEngineView extends EngineView {}
class TruckEngineView extends EngineView {}
// إضافة BusEngine تفرض إضافة BusEngineView أيضاً

##أسباب المشكلة

كان كل شيء على ما يرام طالما ظل التدرج الهرمي صغيراً. ولكن مع إضافة فئات جديدة، أصبح إجراء التغييرات أصعب فأصعب.

##المعالجة

إعادة الهيكلة باستخدام

##الفوائد

  • يقلل من تكرار الكود.

  • يمكن أن يحسن تنظيم الكود.