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

التغيير المتشعب.

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

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

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

class Order {
  void applyVat2024() {}
  void applyVat2025() {}
  void formatEuInvoice() {}
  void formatUsInvoice() {}
}

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

في الغالب، تنشأ هذه التعديلات المتشعبة عن هيكل برنامج رديء أو ما يعرف بـ"برمجة النسخ واللصق".

##المعالجة

##الفوائد

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

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

  • يبسّط الدعم.