کد بوی 255 – آدرس دادن به سلسله مراتب موازی در کد

دردسر دوگانه: نفرین ساختارهای زائد

TL;DR: سلسله مراتب موازی منجر به تکرار و جفت شدن تنگ می شود.

چالش ها و مسائل

  • افزایش پیچیدگی
  • DRY / تکرار کد
  • کابوس تعمیر و نگهداری
  • جفت
  • افکت ریپل
  • احتمال ناهماهنگی در سلسله مراتب مختلف

راه حل ها

  1. ادغام سلسله مراتب
  2. از ترکیب استفاده کنید
  3. استخراج عملکرد مشترک

Refactorings

متن نوشته

سلسله مراتب موازی زمانی اتفاق می‌افتد که هر بار که یک کلاس دامنه ایجاد می‌کنید باید یک همتا بسازید.

مشابه ممکن است پایداری، رابط کاربری، کنترلر، تست ها، سریال سازی و غیره باشد.

این منجر به ساختارهای تکراری و اتصال محکم می شود.

تغییرات در مدل دامنه مستلزم تغییر در کلاس های موازی است که سیستم را شکننده تر و مدیریت آن را سخت تر می کند.

کد نمونه

اشتباه

// Domain classes
abstract class Transaction {
    private String id;
    private double amount;
}

class BankTransaction extends Transaction {
    private String bankName;
}

class CreditCardTransaction extends Transaction {
    private String cardNumber;
}

// Persistence classes
abstract class TransactionDAO {
    private String id;
    private double amount;
}

class BankTransactionDAO extends TransactionDAO {
    private String bankName;
}

class CreditCardTransactionDAO extends TransactionDAO {
    private String cardNumber;
}

درست

Source link