취업 준비 과정에서 아직 필요성을 크게 느끼지 못해 클린 아키텍처를 적용해 본 경험이 없었습니다.
하지만 요즘 신입 채용 공고를 보면 드문 드문 아키텍처에 관한 우대사항도 보이고, 많은 기업들의 블로그,유튜브 영상을 보면 아키텍처에 관한 부분이 많은 부분을 차지하고 있다라고 느꼈습니다.
당장 제가 사용해볼만한 부분은 아니라고 생각하지만, 이번에 '만들면서 배우는 클린 아키텍처'를 읽으며 주로 많이 사용해왔던 레이어드 아키텍처와 책에서 소개하는 클린 아키텍처의 차이를 비교해가며 공부할 수 있었습니다.
책을 통해 서비스 레이어가 클린 아키텍처에서는 유스케이스로 대체되는 등 각 계층의 역할과 규칙을 이해할 수 있었습니다.
정보
- 저자 : 톰 홈버그
- 옮긴이 : 박소은
- 감수 : 조영호
- 한줄평 : 실제 예제 프로젝트를 통해 클린 아키텍처의 원리와 적용 방법을 체계적으로 익힐 수 있는 책
- 읽으면 좋을 독자 : 소프트웨어 아키텍처와 설계 패턴에 관심있는 개발자, 클린 아키텍처를 처음 접하는 개발자
전반적인 구성
초반부에는 레이어드 아키텍처의 문제점들을 시작으로 왜 클린 아키텍처를 접목 시켜야하는지에 대해서 설명해준다.
또 클린 아키텍처의 기본 원리와 의존성 규칙, 계층 구조 등 핵심 개념을 설명한다.
목차
1. 계층형 아키텍처의 문제는 무엇일까
2. 의존성 역전하기
3. 코드 구성하기
4. 유스케이스 구성하기
5. 웹 어댑터 구현하기
6. 영속성 어댑터 구현하기
7. 아키텍처 요소 테스트하기
8. 경계 간 매핑하기
9. 애플리케이션 조립하기
10. 아키텍처 경계 강제하기
11. 의식적으로 지름길 사용하기
12. 아키텍처 스타일 결정하기
이런식으로 목차가 구성 되어있는데, 사실상 저 카테고리 제목들 자체가 해당 파트마다 서술하는 것을 모두 담고 있다.
또한 분량이 많지 않지만 적절하게 클린 아키텍처에 대한 설명과 장점으로 굉장히 몰입도있게 읽혔다.
해당 도서가 매력적이라고 느꼈던 포인트
- 실습 예제 중심으로 진행되어 이론과 실습을 자연스럽게 병행할 수 있다.
- 몇몇 부분에서 흔하게 많이 사용되는 레이어드 아키텍처에서의 역할을 클린 아키텍처에서의 역할로 비교해서 설명해준다.
- 레이어드 아키텍처에서의 문제점과 그것을 클린 아키텍처 적용시 해결할 수 있는 방안을 적절하게 설명해준다.
아쉬운 점
- 중간에 스프링에 관련한 부분이 나오는데 '잉? 이 책에서 지금 이걸 설명할 필요가 있을까?' 라고 나는 생각이 들었다.
마치며
서론에서도 설명했듯이, 많은 기업들에서 클린 아키텍처를 사용하고 있는 것을 간접적으로 보았다.
특히 유튜브나 컨퍼런스등 선배 개발자분들이 관련 내용을 발표하시는 것을 보고 '나도 꼭 접목 시켜보고 싶다.' 라고 생각을 해왔던 터라 더욱 해당 책이 잘 읽혔던 것 같다.
내가 클린 아키텍처에 대해 지식이 전무했던 상황에서 책을 읽고 이해한 바는 아래와 같다.
- 클린 아키텍처의 핵심은 의존성 규칙에 있다.
- 내부 계층이 외부 계층을 의존하지 않도록 하여 아키텍처를 깔끔하게 유지하는 것이다.
- 이를 통해 비즈니스 로직과 프레젠테이션, 데이터 액세스 등의 계층을 명확히 분리할 수 있다.
- 결과적으로 코드의 가독성과 유지보수성, 확장성이 높아지게 된다.
이 책을 읽으며 '왜 클린 아키텍처?' 라는 것에 대해 알게 되었다. 그러니 취업을 했을 때 다니는 회사가 클린 아키텍처를 쓴다면 내가 이해한 개념을 가지고 더 깊이있는 책을 읽어보면 더 좋을 것 같다.
찍먹이라도 안 먹어본 것 보다는 낫겠지!!
'도서 > 리뷰' 카테고리의 다른 글
[도서 리뷰] 가상 면접 사례로 배우는 대규모 시스템 설계 기초1 (1) | 2024.03.18 |
---|---|
[도서 리뷰] 이것이 취업을 위한 백엔드 개발이다 with 자바 (1) | 2024.02.27 |