본문 바로가기
공부/개발 & 컴퓨터

클린 아키텍처

by algosketch 2022. 1. 22.

https://book.naver.com/bookdb/book_detail.nhn?bid=15303798 

 

클린 아키텍처

“살아있는 전설이 들려주는 실용적인 소프트웨어 아키텍처 원칙”소프트웨어 아키텍처의 보편 원칙을 적용하면 소프트웨어 수명 전반에서 개발자 생산성을 획기적으로 끌어올릴 수 있다. 《

book.naver.com

 

이 책도 필독서 중 하나이다. 근데 필독서라고 했지 필독서들이 마냥 쉬운 것은 아닌데, 이 책의 경우엔 내가 읽기에 적절했던 것 같다. 적당히 SOLID 원칙에 대해 알고 있고, MVVM 패턴과 스프링에 대한 배경 지식을 갖고 있으면 이 책을 이해하는데 무리가 없을 것 같다. 이 책을 읽고 생각나는 것 세 가지를 작성해 보았다.

경계에 대한 이야기가 많이 나온다. 경계는 어디에나 있고 어떤 경계에서 컴포넌트를 분리시킬지는 개발자의 몫이다. 나눌 수 있는 경계를 모두 나누면 간단한 프로젝트에도 많은 비용이 들기 때문에 오버 엔지니어링되지 않도록 주의해야 한다.

아키텍처에서 가장 중요한 건 비즈니스 로직이고 가장 고수준이며 독립적이어야 한다. 나머지는 세부사항이다. 세부사항일수록 저수준이며 고수준 컴포넌트에 의존성을 가진다. UI 나 데이터베이스 등은 세부사항이다. 세부사항들은 변동성이 크다. 세부사항은 외부와 통신한다는 느낌이 들고, 다른 것으로 바꿔 끼울수 있다. (OCP) 사용하는 데이터베이스를 변경하거나, 앱 UI 를 웹 UI 로 바꾸기 쉬워야 한다. 소개된 사례에서는 데이터베이스 연동을 1년 이상 미루어도 개발에 지장이 없었다.

이 책을 읽고 안드로이드에서 사용하는 아키텍처에 대해 판단할 수 있는 기준과 경계를 보는 시각이 생겼다. 다음 글에서는 안드로이드 아키텍처에 대한 생각을 공유하려고 한다.