안드로이드 클린아키텍쳐 3

[다시 만들어보는 클린아키텍쳐] build-logic 편

build-logic 도 이전 포스팅에 있었던 모듈의 하나다.다만 이 모듈에는 Version Catalog, Convention Plugin 이라는 개념을 추가해서 설명할것이다. Version Catalog는 이름에서 느껴지는것처럼 버전을 관리해준다. 즉 프로젝트 전반에 있는 라이브러리 의존성을 관리하는 방식이다.libs.versions.tomi 라는 파일이 있을텐데 요놈이 그 역할을 한다.알아본김에 좀 더 알아보자.이 파일을 열어보면 크게 네 파트로 나뉘는데 [versions][libraries][plugins][bundles]가 있다. versions : 라이브러리의 버전을 정의한다. ex) glide = 5.0.0libaries : 해당 라이브러리 정보를 적는다. ( group : name : ve..

Android 2024.07.31

[다시 만들어보는 클린아키텍쳐] 모듈분리 편

클린아키텍쳐가 유행한지도 이제 꽤 시간이 지난 것 같다.하지만 여전히 현업에서도 많이 쓰이고 있고 시간이 흐를수록 더 관리하기 편하고깔끔한 구조로 변화해가는듯하다. 최근에 보이는 nowinandroid 나 드로이드나이츠 앱을 참고하며 내가 필요한 부분만 취해서새롭게 샘플앱을 구성해보려한다. 단발성으로 끝나는것이 아닌 지속적으로 몇년이고 업데이트 할 사항이 생긴다면추가하고 리펙토링도 진행하며 관리해나갈 목적으로 레포를 만들었다. 그럼 프로젝트를 구성하는 첫번째 발걸음인 모듈 분리를 해보자.참고로 클린아키텍쳐라고 꼭 모듈을 분리해야하는건 아니다.다만 분리를 하면 좀 더 강력하게 코드 관심사를 분리 시킬 수 있다.초기에 설정해야하는 일들이 꽤나 복잡하지만 해두고나면 코드를 보기에도 훨씬 편하다. 모듈분리 모듈..

Android 2024.07.25

안드로이드 클린 아키텍쳐에 대해

개발에 관심을 가지고 있는 사람이라면 클린 아키텍쳐라는 말을 한번 쯤 들어 봤을거라고 생각한다. 나도 개념에 대해서는 어럼풋이 알고 있었지만 흉내만 낼뿐 원칙을 완벽하게 지킨다거나 하지는 못했던 것 같다. 이참에 개념에 대해서도 확실하게 정리 해볼까한다. 클린 아키텍쳐는 뭘까? 날이 갈수록 다양해지는 기능과 많은 일을 담당하게 되는 프로그램은 복잡도가 높아질 수 밖에 없는 운명을 타고났다. 만들려면 어떤 방법으로든지 만들수는 있지만 우리는 유지 보수하기 쉽고 고품질의 코드를 원한다. 기능이 추가된다거나 내부 로직이 변하는 일이 생겼을때 처음부터 다 뜯어고치면서 만드는건 예상치 못한 문제를 발생시키고 노력 또한 많이 든다. 이런 문제들을 해결하고자 등장한 개념이 클린 아키텍쳐다. 그렇다. 클린 아키텍쳐는 ..

Android 2022.02.21