
소프트웨어 경계를 깔끔하게 처리하는 기법과 기교를 살펴본다
Map을 여기저기 넘기지 말라는 말이다.
Map과같은 경계 인터페이스를 이용할 때는 이를 이용하는 클래스나 클래스 계역 밖으로 노출되지 않도록 주의한다.
Map 인스턴스를 공개 API으로 넘기거나 반환값으로 사용하지 않는다.
외부에서 가져온 패키지를 사용하고 싶다면 우리 자신을 위해 우리가 사용할 코드를 테스트 하는 편이 바람직 하다.
간단한 테스트 케이스를 작성해 외부 코드를 익히는 것을 학습 테스트 라 부른다.
학습테스트는 프로그램에서 사용하려는 방식대로 외부 API를 호출한다.
학습 테스트에 드는 비용은 없다. 학습 테스트는 이해도를 높여주는 정확한 실험이다.
투자하는 노력보다 얻는 성과가 더 크다. 패키지가 예상대로 도는 검증한다.
경계에서는 흥미로운 일이 많이 벌어지는데 대표적으로 변경이 있다.
통제하지 못하는 코드를 사용할 때는 너무 많은 투자를 하거나 향후 변경 비용이 지나치게 커지지 않도록 주의해야한다.
경계에 위치하는 코드는 깔끔하게 분리한다.