본문 바로가기
독서

클린 아키텍트 책 리뷰 및 감상평

by 도쿄정대리! 2022. 9. 24.

이전의 실패 경험을 만회하고자 IT 개발의 전 과정에 대한 지식을 늘리기 위해서 읽은 책입니다. 사실 새롭게 들어간 파견회사에서 어떤 직무를 맡을지 몰라 경험이 없던 설계 부분을 담당했을 때를 대비해서 읽은 책입니다. 클린 아키텍처 책의 내용과 감상평을 바로 한번 알아보도록 하겠습니다.

 

고백하건대 이 책을 선택한 이유는 책이 두껍지 않아서였습니다. 외부 설계, 상세설계 등을 맡게 될지도 모른다는 사실을 알게 된 후 그 불안감을 해소하는 용도로 '설계와 관련된 책을 사보자, 하지만 너무 두껍지는 않았으면 좋겠어'라는 마음이 반영된 결과입니다. 

 

목차

     

     

    클린 아키텍쳐 책 표지 사진이다. 흰 배경에 프로그램, 프로그래밍, 프로그래머, 클린 아키텍쳐 라고 영어로 크게 적혀있다.
    클린 아키텍쳐 책 표지

     

     

    클린 아키텍쳐 책 내용 요약

    좋은 설계란 무엇인가?라는 내용으로 책은 시작됩니다. 저자는 많은 예시들을 보여주며 결국 유지보수를 잘할 수 있는 설계가 좋은 설계라고 이야기합니다. 그리고 그 좋은 설계와 좋은 개발을 하는 것에 있어 TDD(테스트 주도 개발)가 아주 중요하고 요긴하게 쓸 수 있는 도구라고 이야기합니다.

     

    소프트웨어는 변했지만, 소프트웨어의 핵심은 여전히 그대로라고 이야기하고 있는데요. 컴퓨터 프로그램은 순차, 분기, 반복, 참조로 구성되고, 그 이상도 이하도 아니라고 말합니다. 그리고 설계 원칙에 대해서 설명합니다.

     

    단일 책임 원칙

    ・소프트웨어 모듈의 변경은 이유가 단 하나, 단 하나여야만 한다는 원칙

     

    개방 폐쇄원칙

    ・기존 코드를 수정하기보다는 반드시 새로운 코드를 추가하는 방식으로 시스템의 행위를 변경할 수 있도록 설계해야만 소프트웨어 시스템을 쉽게 변경할 수 있다는 원칙

     

    리스 코프 치환 원칙

    ・상호 대체 가능한 구성요소를 이용해 소프트웨어 시스템을 만들 수 있으려면, 이들 구성요소는 반드시 서로 치환 가능해야 한다는 계약을 반드시 지켜야 한다는 원칙

     

    인터페이스 분리 원칙

    ・소프트웨어 설계자는 사용하지 않은 것에 의존하지 않아야 한다는 원칙

     

    의존성 연전 원칙

    ・고수준 정책을 구현하는 코드는 저수준 세부사항을 구현하는 코드에 절대로 의존해서는 안 된다는 원칙. 변동성이 큰 구체 클래스를 참조하지 말고, 구체 함수를 오버라이드 하지 말라 등등 이외에도 많은 부분들을 설명하고 있습니다. 

     

    클린 아키텍처 리뷰 및 감상평

    제가 기대한 책 내용은 상세 설계서를 쓰는 방법에 관한 것이었지만, 이 책은 그러한 부분보다는 전체적으로 시스템을 어떻게 설계하고 어떻게 프로젝트를 효과적으로 진행할 수 있는가에 대한 내용에 좀 더 집중하고 있다는 느낌을 받았습니다. 물론 제가 이해하지 못한 부분들이 많다고 생각이 듭니다만, 전반적으로 좋은 설계, 좋은 프로젝트의 진행 방법들에 대한 참고서 느낌이 강했습니다.

     

    설계란 무엇인가 프로그램이란 무엇인가에 대해서 생각해보고자 하는 분들에게 추천드릴 수 있는 좋은 책입니다.

     

    반응형

    댓글