https://book.naver.com/bookdb/book_detail.nhn?bid=15303798
이 책도 필독서 중 하나이다. 근데 필독서라고 했지 필독서들이 마냥 쉬운 것은 아닌데, 이 책의 경우엔 내가 읽기에 적절했던 것 같다. 적당히 SOLID 원칙에 대해 알고 있고, MVVM 패턴과 스프링에 대한 배경 지식을 갖고 있으면 이 책을 이해하는데 무리가 없을 것 같다. 이 책을 읽고 생각나는 것 세 가지를 작성해 보았다.
경계에 대한 이야기가 많이 나온다. 경계는 어디에나 있고 어떤 경계에서 컴포넌트를 분리시킬지는 개발자의 몫이다. 나눌 수 있는 경계를 모두 나누면 간단한 프로젝트에도 많은 비용이 들기 때문에 오버 엔지니어링되지 않도록 주의해야 한다.
아키텍처에서 가장 중요한 건 비즈니스 로직이고 가장 고수준이며 독립적이어야 한다. 나머지는 세부사항이다. 세부사항일수록 저수준이며 고수준 컴포넌트에 의존성을 가진다. UI 나 데이터베이스 등은 세부사항이다. 세부사항들은 변동성이 크다. 세부사항은 외부와 통신한다는 느낌이 들고, 다른 것으로 바꿔 끼울수 있다. (OCP) 사용하는 데이터베이스를 변경하거나, 앱 UI 를 웹 UI 로 바꾸기 쉬워야 한다. 소개된 사례에서는 데이터베이스 연동을 1년 이상 미루어도 개발에 지장이 없었다.
이 책을 읽고 안드로이드에서 사용하는 아키텍처에 대해 판단할 수 있는 기준과 경계를 보는 시각이 생겼다. 다음 글에서는 안드로이드 아키텍처에 대한 생각을 공유하려고 한다.
'공부 > 개발 & 컴퓨터' 카테고리의 다른 글
라이브러리 vs 프레임워크 (1) | 2022.03.30 |
---|---|
앱센터 14기 센터장 서류 전형 회고 (0) | 2022.03.20 |
리팩터링 2판 (Refactoring) (0) | 2022.01.03 |
github + slack 연동하기 (webhook) (0) | 2021.12.03 |
GitHub + Slack Webhook 400 오류 (0) | 2021.12.03 |