التغيير المتشعب.
تجد نفسك مضطراً لتغيير كثير من الوظائف غير المترابطة عند إجراء تغييرات على فئة. على سبيل المثال، عند إضافة نوع منتج جديد يتعين عليك تغيير وظائف البحث والعرض وطلب المنتجات.
##Signs and Symptoms
تجد نفسك مضطراً لتغيير كثير من الوظائف غير المترابطة عند إجراء تغييرات على فئة. على سبيل المثال، عند إضافة نوع منتج جديد يتعين عليك تغيير وظائف البحث والعرض وطلب المنتجات.

##Reasons for the Problem
في الغالب، تنشأ هذه التعديلات المتشعبة عن هيكل برنامج رديء أو ما يعرف بـ"برمجة النسخ واللصق".
##Payoff
-
يحسّن تنظيم الكود.
-
يقلل تكرار الكود.
-
يبسّط الدعم.