정보
제목 : Go 프로그래밍 개발 환경에서 의존성 주입 실습 (원제 : Hands-On Dependency Injection in Go)
저자 : 코리 스캇 (역자 : 이준)
출판사 : 에이콘
요약
Go언어를 객체지향적으로 설계하는 방법에 대한 책이다. 해당 책은 단순히 객체지향의 원칙과 객체지향적 설계 기법을 기계적으로 나열하지 않고 예제를 통해 어떻게 쓰고 왜 필요한지 와닿게 설명한다. 또한 이 책은 각 기법을 소개할 때 부작용을 같이 소개한다. 즉, 각 기법의 장단점을 모두 설명하여 독자가 기법을 적용해야 할 때를 판단하는 것을 돕는다.
유의점
해당 책은 기본적으로 Go언어를 이용해 객체지향적으로 프로그래밍 하는 방법을 설명하는 책이다. 즉, Go언어를 사용하지 않으면 해당 책에 있는 기술을 사용하기 힘든 경우가 있다. 또한 흔치 않은 용어(의존성 주입, 몽키 패치 등)를 사용하면서 정의를 명확하게 설명해주지 않아서 이해하는 데에 어려움이 있을 수 있다.(다만 이해하면 꽤나 쉬운 개념이다.) 내용과는 별개로, 문화권의 차이인지 번역의 문제인지 이해하기 힘든 문장이 몇몇 보인다. 그런 문장은 넘어가도 전체 글을 이해하는 데에는 문제가 없다.
총평
이 책에서 가장 아쉬운 부분은 제목이다. '의존성 주입' 이라는 용어는 흔한 용어가 아니어서 이 책으로 도움을 얻을 잠재적 독자들이 용어에 겁먹어서 읽지 않을 것 같다.(이 글의 필자도 이 책의 구입을 주저했다.) 이 책의 제목을 'Go언어와 객체지향 - 의존성 주입이란'과 같이 어느 정도 친숙한 단어로 구성했으면 어땠을까 하는 생각도 든다. 확실한 것은, 이 책은 Go언어만 안다면 이 책은 결코 어렵지 않다. 심지어 고급 문법도 거의 쓰지 않기 때문에 Go언어를 몰라도 못 읽을 정도는 아니다.
솔직히 이 책이 누구에게나 추천할만 하다고 생각하지는 않는다. 주제가 명확하지만 좁기 때문이다. 다만 Go언어를 이용하는(혹은 이용할 예정인) 프로그래머중 좋은 설계를 배우고 싶은 독자, 혹은 패키지 순환 참조 문제 등으로 설계에 골치를 썩고 있는 개발자라면 이 책을 꼭 읽었으면 좋겠다. 그렇지 않더라도, 만약 Go언어에 대해 안다면, 읽어서 후회하지는 않을 책이라고 확신한다.