Refactoring 016 – Building With The Essence

ساختن پایه های تغییرناپذیر از روی زمین

TL;DR: برای کاهش تغییرپذیری و حذف دریافت‌کننده‌ها و تنظیم‌کننده‌ها، ویژگی‌های ضروری را در حین ایجاد شی منتقل می‌کند.

مشکلات پرداخته شده است

مراحل

  1. ویژگی های ضروری مورد نیاز برای ایجاد شی را شناسایی کنید
  2. سازنده ای ایجاد کنید که تمام ویژگی های ضروری را بپذیرد
  3. روش های ستر و گیر را حذف کنید
  4. فراخوانی های ایجاد شی را به روز کنید تا همه ویژگی های مورد نیاز را از قبل ارسال کنید

کد نمونه

قبل از

public class CreditCard {
    private String cardNumber;
    private String cardHolderName;
    private String expirationMonthYear;
    private int cvv;

    public CreditCard() {} // Empty Constructor

    public void setCardNumber(String cardNumber) { 
        this.cardNumber = cardNumber; 
    }
    public void setCardHolderName(String cardHolderName) { 
        this.cardHolderName = cardHolderName; 
    }
    public void setExpirationMonthYear(String expirationMonthYear) { 
        this.expirationMonthYear = expirationMonthYear;
    }
    public void setCvv(int cvv) { 
        this.cvv = cvv; 
    }

    public String getCardNumber() { 
        return cardNumber; 
    }
    public String getCardHolderName() {
        return cardHolderName;
    }
    public String getExpirationMonthYear() {
        return expirationMonthYear; 
    }
    public int getCvv()...

Source link