중재자(Middle Man) 란? 캡슐화를 통해 내부의 구체적인 정보를 최대한 감출 수 있다. 그러나, 어떤 클래스의 메소드가 대부분 다른 클래스로 메소드 호출을 위임하고 있다면 중재자를 제거하고 클라이언트가 해당 클래스를 직접 사용하도록 코드를 개선할 수 있다 메세지 체인의 반대라고 생각하면 좋다 메세지 체인은 캡슐를 하여 코드를 최대한 줄이면서 이어 나가지만 모든 코드가 캡슐화로 되어있으면 필요없는 코드까지 캡슐화가 되기 때문에 이러한 문제를 해결하는 방법 중 하나가 중재자 냄새이다. 관련 리팩토링 중재자 제거하기(Remove Middle Man) 함수 인라인(Inlince Function) 슈퍼 클래스를 위임으로 바꾸기 서브클래스를 위임으로 바꾸기 중재자 제거하기 같은 경우는 클라이언트가 필요한 클..