본문 바로가기

Development/Programming

[Refactoring] 매개변수 세트를 객체로 전환

여러개의 매개변수가 항상 붙어 다닐 땐 그 매개변수들을 객체로 바꾸자.


amountInvoicedIn(start: Date, end:Date) -> amountInvoicedIn (DateRange)

amountReceivedIn(start: Date, end:Date) -> amountReceivedIn (DateRange)

amountOverdueIn(start: Date, end:Date) -> amountOverdueIn (DateRange)


특정 매겨변수들이 늘 함께 전달되는 경우를 흔히 볼 수 있다. 여러 메서드가 한 클래스나 여러 클래스에서 이 매개변수 집합을 사용할 가능성이 있다. 이런 클래스들은 데이터 뭉치 이므로 그 모든 데이터가 든 객체로 바꿀수 있다.