방프리

25.06.22 클린 아키텍처 후기 본문

CS & Refactoring/클린코드

25.06.22 클린 아키텍처 후기

방프리 2025. 6. 22. 20:14

클린 아키텍처

 

최근 사내에 비치된 도서를 틈틈히 읽어보게되었다. 클린 코드의 저자이기도 해서 조금 흥미가 돋았는데 이 책도 신봉자가 꽤나 많은 듯 했다.

책의 초반부에서는  SRP (단일 책임의 원칙) / OCP (개방-폐쇄원칙) / LSP (리스코프 치환 원칙) 등 익숙한 설계 원칙들을 다루며 전반적인 아키텍처 설계에 대한 기초를 설명한다. 여러 기술 서적에서 공통적으로 언급되는 원칙들이지만, 이 책은 그것들을 더 명확하고 실용적인 과점에서 접근하고 있어 흥미로웠다.

특히 가장 인상 깊었던 부분은 컴포넌트 원칙에 대한 설명이였다. 현재 진행하고 있는 프로젝트가 컴포넌트 기반이였기에 어느 정도 응집도는 해소되었지만, 여전히 정리가 필요한 부분이 많았기에 더욱 공감할 수 있었다.

또 하나 공감되는 부분은 프레임워크의 과도한 의존성을 경계하라는 조언이 와닿았다. 이전 프로젝트에서 특정 라이브러리에 코드들이 너무 엮인 나머지 해당 모듈이 업데이트 될 때 보수 작업의 규모가 달라져서 꽤나 골치가 아팠던 적이 있었기 때문이다. 그 당시 문제를 해결할 방법에 대해 공부하고자 브릿지 패턴 방식을 많이 참고했던 걸로 기억한다.

이외에 저자는 각각의 항목에 대해 독립성을 외치지만 그 독립성을 보장하는 단위는 프로젝트의 크기에 따라 분류할 것을 명시했다.
크기에 따라 어느 정도 포용하는 것에 유연함을 가져야 하는게 맞다고 생각되기 때문이다.

이전 클린 코드에 비해 공감되는 부분이 많았다. 저자가 실제 현업에서 겪었던 사례로 왜 이런 원칙이 필요한지에 대한 사례 설명이 있어 이해하는 과정이 어렵지 않았다. 프로젝트가 커지면 커질수록 아키텍처에 대한 중요도는 굉장히 많이 올라간다. 다만 게임과 같이 하나의 객체마다 엮이는 요소가 많은 형태의 프로젝트라면 이걸 어떻게 풀어나가야할지는 더욱 깊은 고민이 필요할 것 같다.

'CS & Refactoring > 클린코드' 카테고리의 다른 글

25.03.06 한참 늦은 클린코드 후기  (0) 2025.03.06
21.05.16 클린 코드 Day 3  (0) 2021.05.16
20.05.18 클린 코드 Day 2  (0) 2020.05.18
20.05.14 클린 코드 Day 1  (0) 2020.05.14
Comments