[Refactoring] 위임 숨기기


[Refactoring] 위임 숨기기

메시지 체인 레퍼런스를 따라 계속해서 메소드 호출이 이어지는 코드이다. 예) this.member.getCredit().getLevel().getDescription() 해당 코드의 클라이언트가 코드 체인을 모두 이해해야 한다. 체인 중 일부가 변경된다면 클라이언트의 코드도 변경해야 한다. 관련 리팩토링 위임 숨기기를 사용해 메시지 체인을 캡슐화를 할 수 있다. 함수 추출하기로 메시지 체인 일부를 함수로 추출한 뒤 함수 옮기기로 해당 함수를 적절한 곳으로 이동할 수 있다. 위임 숨기기 캡술화란 어떤 모듈이 시스템의 다른 모듈을 최소한으로 알아야한다는 것이다. 그래야 어떤 모듈을 변경할 때, 최소한의 모듈만 그 변경에 영향을 받을 것이고, 그래야 무언가를 변경하기 쉽다. 처음 객체 지향에서 캡슐화를 배울 때 필드를 메소드로 숨기는 것이라 배우지만, 메소드 호출도 숨길 수 있다. person.department().manager() -> person.getManager() 이전의 코드는...


#리팩토링 #백기선 #인프런 #자바

원문링크 : [Refactoring] 위임 숨기기