더북(TheBook)

이 클래스의 내부 구현을 리팩터링 등으로 변경했을 때 클라이언트가 영향을 받는가?

이 코드를 자주 변경해야 하는가? 그렇다면 인터페이스와 같은 더 안정적인 추상화 뒤에 코드를 숨기는 방식으로 디자인할 수 있는가?

이 정보가 클라이언트가 알아야 할 최소한의 정보인가? 알아야 할 내용이 적을수록 더 좋다.

불필요하게 구현 세부 사항을 노출하고 있는가? 클라이언트가 알 필요 없다면 노출하지 말라.

간단히 말해 무엇을 노출하고 무엇을 감출지 결정해야 하고, 노출하는 세부 사항을 변경하면 클라이언트에게 얼마나 영향을 미칠지 고민해야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.