더북(TheBook)

왜 또 다른 추상화가 필요할까? 도메인 함수를 HTTP 계층으로 연결하면 더 간단하지 않을까?

에츠허르 W. 데이크스트라는 “추상적이라는 것은 모호한 것과는 근본적으로 다른 것이다. 추상화의 목적은 모호한 것이 아니라 절대적으로 정확할 수 있는 새로운 의미 수준을 만드는 것이다.”라고 말했다.

도메인 함수를 HTTP 계층에 직접 연결하는 것은 간단할 수 있지만 시간이 지나면 이 둘을 서로 분리하기가 매우 어려워진다. 도메인과 어댑터를 분리하는 인터페이스를 도입하면 둘 사이의 분리를 유지할 수 있다.

도메인을 감싼 인터페이스는 애플리케이션의 중앙에 위치하기 때문에 허브처럼 작동하며, 자전거 바퀴의 바큇살(스포크)처럼 작동하는 여러 기능으로 외부와 연결된다.

허브는 도메인과 기술 계층 사이의 경계를 아주 정확하고 만족스러운 방식으로 정의하고 추상화한다. 도메인은 허브 내부에 머무르며 특정 함수를 통해서만 나머지 애플리케이션과 통신한다. 나는 냇 프라이스와 함께 작업하면서 이 방법을 배웠다. 이 방법을 사용하면 각각의 컴포넌트를 개별적으로 테스트하기도 더 쉬워진다5.

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