تدرجات الوراثة المتوازية.
كلما قمت بإنشاء فئة فرعية (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 أيضاً##أسباب المشكلة
كان كل شيء على ما يرام طالما ظل التدرج الهرمي صغيراً. ولكن مع إضافة فئات جديدة، أصبح إجراء التغييرات أصعب فأصعب.
##المعالجة
إعادة الهيكلة باستخدام
##الفوائد
-
يقلل من تكرار الكود.
-
يمكن أن يحسن تنظيم الكود.
