놀라움은 어리석은 일이다. 즐거움은 향상되지 않으며 불편함도 상당할 때가 많다.
- 제인 오스틴, 『엠마』
2장에서는 애플리케이션의 첫 번째 버전을 작성했다. 이 애플리케이션은 미리 적재된 데이터를 기반으로 목록을 표시할 수 있다. 또 이에 대한 인수 테스트도 작성했다.
우리는 단순한 순수 함수들을 합성해 복잡한 동작을 얻는 방법과 HTTP 호출을 함수로 처리하는 방법을 배웠다. 이 장에서는 한 단계 더 나아가 고차 함수를 사용하는 방법을 배울 것이다.
또한 ‘포트와 어댑터 아키텍처(the ports and adapters architecture)’1 이를 통해 얻을 수 있는 이점에 대해서도 살펴본다. 이를 통해 인수 테스트를 더 쉽게 읽을 수 있도록 개선하고 최종 사용자 관점에서 도메인 개념을 사용해 기능을 직접 코드로 변환할 수 있다. 그 결과는 도메인 주도 테스트이며, 이 책에서 애플리케이션을 완성할 때까지 우리를 안내해줄 것이다.