Book

클린 아키텍처 (소프트웨어 구조와 설계의 원칙)

Linuxias 2021. 4. 17. 17:27
반응형

 

클린 아키텍처 | 로버트. C 마틴 / 송준이 역

 

2019년에 출간된 클린 아키텍처. 읽어야지.. 속으로 생각하기만 수십번...

작년은 무엇인가 정신없었고, 한참을 달리다 잠시 쉬는 해가 필요할 것 같아 기술서적을 잠시 내려놓았던 시기였다. 올해의 첫 시작으로 읽은 책이다. 로버트 C 마틴의 도서는 여러 책을 읽었고, 좋아하는 개발자이자 저자이다. 많은 사람들이 그의 이름을 듣고, 그의 책을 읽어보았을거라고 생각된다. 그 만큼 유명하고 많은 개발자들에게 큰 도움을 주는 개발자이다.

 

아키텍처에는 오래전부터 관심이 있었지만 주먹구구식 학습과 경험을 토대로 역량을 쌓아올려간 시간들이 많았다. 그러면서 다양한 사람들과 토론하면서 느낀 점은 아키텍처에 좋은 아키텍처를 있어도 정답은 없다는 것이다. 뭐 물론 시간대대로 정립되어오며 특정 요구사항이나 특정 기능을 수행하는 소프트웨어를 개발할 시 가장 좋은 아키텍처가 정답으로 여겨지기도 한다. 각 개발자마다 경험과 가진 지식을 토대로 본인만의 신념과 주관을 가지고 있다는 점이다. 나 또한 마찬가지였던 것 같다. 좋은 구조를 설계하는 과정에서 소프트웨어 요구사항을 분석하지만 분석한 내용을 토대로 가장 중요한 기능적, 비기능적 요구사항을 도출해내는 것은 개발자마다 모두 다르다.

 

이 책은 소프트웨어 아키텍처의 기본입문서다. 소프트웨어 아키텍처를 설계하기 위한 아키텍트가 되는 과정 중 위에서 설명한 개발자들 마다 각기 다른 주관에서 공통된 부분을 뽑아서 책으로 잘 정리해놓은거라 생각한다.

 

어떤 구조가 정답이다. 가장 좋다라고 논의하기는 어렵지만 아키텍트로서 시작을 하는 이에게 놓칠 수 있는 부분들을 잘 정리해놓았다. 특히 3부까지는 어느정도 경험이 있는 쥬니어 이상의 개발자라면 잘 알고 활용하는 설계원칙 SOLID 정도는 모두가 아는 내용일 수 있다. 하지만 내 경험 상 마이크로 모듈 이상의 컴포넌트로 확장된 내용을 설계가 필요한 상황에서는 허둥지둥하는 개발자들을 본 적이 많다. 특히 고려해야 할 사항들을 놓치거나 고려할 필요가 없는 상세내역에 대해 시간을 많이 소모하는 개발자들을 보았다. 그런 분들을 위해서 4부 컴포넌트 원칙부터는 꼼꼼히 읽고 개인의 생각을 정리하면 좋을 것 같고 추천한다.

 

나도 아키텍트로서 경험과 역량이 부족하고 지식이 하나로 정립되고 나 스스로의 신념과 주관이 명확히 확립되어 가는 시기에서 놓쳐버릴 수 있는 부분을 이 책을 읽고 다시 떠올릴 수 있었다. 

반응형