이 책은 객체지향 디자인 기술을 향상시키고자 하는 소프트웨어 개발자를 위한 책이다. 코드 복잡성, 일관성, 캡슐화, 의존성 관리, 추상화 디자인, 인프라 처리, 모듈화에 대해 깊이 탐구한다. 이미 클린 아키텍처와 같은 유사한 접근법에 익숙한 고급 개발자도 이 책에서 제공하는 독특한 관점에서 얻을 점이 있을 것이다. 독자는 클래스, 다형성, 인터페이스 같은 객체지향 개념에 대한 기본적인 지식을 갖추고 있어야 한다. 코드 예제는 주로 자바 의사 코드(Pseudo-code)로 쓰였지만 C#, 파이썬(Python), 루비(Ruby) 같은 객체지향 프로그래밍 언어에 익숙한 개발자라면 쉽게 이해할 수 있다. - 서문