로딩
요청 처리 중입니다...

[Refactoring] 중재자 제거하기

 [Refactoring] 중재자 제거하기

위임 숨기기의 반대에 해당하는 리팩토링 무조건 캡슐화는 옳지 않다!! 필요한 캡슐화의 정도는 시간에 따라 그리고 상황에 따라 바뀔 수 있다.

캡슐화의 정도를 중재자 제거하기와 위임 숨기기 리팩토링을 통해 조절할 수 있다. 위임하고 있는 객체를 클라이언트가 사용할 수 있도록 getter를 제공하고, 클라이언트는 메시지 체인을 사용하도록 코드를 고친 뒤에 캡슐화에 사용했던 메서드를 제거한다.

Low of Demeter를 지나치게 따르기보다는 상황에 맞게 활용하도록 하자. 디미터의 법칙, 가장 가까운 객체만 사용한다.

중재자 제거하기 public class Department { private Person manager; public Department(Person manager) { this.manager = manager; } public Person getManager() { return manager; } } Department class public class Person { p...

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