728x90
이 글을 읽기 전 이전 포스팅인
2024.09.26 - [프로그래밍/안드로이드] - [Android] 안드로이드 클린 아키텍처 (Clean Architecture) 에 대해서 알아보자 를 참고한다면 이해 및 응용에 도움이 될 수 있으니 참고 부탁드립니다.
들어가며
- Android Studio, Eclipse, Django, Spring 등 여러 개발 툴을 통해 프로젝트를 생성할때는 아무리 작은 프로젝트라도 여러 파일이 생기기 마련이다. 물론 이것이 작은 프로젝트일경우 양이 많지 않아 신경을 쓰지 않아도 되겠지만, 인스타그램이나 구글 같은 대기업들이 가진 프로젝트 내부 파일의 양은 어마어마 할 것이다.
- 다른 곳들은 잘 모르겠지만 안드로이드의 경우 한 모듈에서 수정사항이 생기면 그 모듈에 대해 새롭게 빌드를 한다. 물론 캐시가 존재하긴 하지만, 빌드 과정에서 오랜 시간이 걸리는게 문제다.
- 이외에도 단일 모듈을 사용할 경우의 여러 문제점들이 있지만 멀티 모듈을 사용하는 이유는 간략하게 설명하겠다.
멀티 모듈 사용 이유
- 빌드 시간 단축
- 위에서 말했듯 A 모듈에서 수정사항이 생기면 해당 모듈은 이전 캐싱을 재사용하고, 바뀐 부분만 바꾸어 준 후 빌드를 진행한다
- 이런 말은 멀티 모듈일 경우 새롭게 빌드를 진행해야하는 모듈의 수가 줄어들기에 빌드 시간이 줄어든다는 의미이다.
- 멀티 모듈을 사용할경우 추가적으로 각 모듈이 독립적으로 빌드될 수 있기 때문에 시간이 더 줄어든다.
- 관심사를 분리하고 서로 간의 간섭을 제한하기 위해서 사용한다
- 만약 A Project 에 모듈이 a 한개라면 모든 파일들은 이 a 라는 모듈에 집어넣어지기 때문에 a 모듈은 혼자서 방대한 파일들을 관리해야한다
- 이때 여기서 사용하는 클래스, 함수들이 어떤 것은 Network 통신, 어떤 것은 UI, 어떤 것은 테스트 .. 등등 서로가 얽힐 경우 복잡성이 무척 방대해진다.
- 이로 인해 서로 다른 모듈을 사용하여 그에 맞는 파일들을 집어넣어주고 관리하면 추후 시스템에 추가적으로 필요하거나 수정되어야 하는 파일을 찾기가 쉬워진다.
- 다른 프로젝트에 활용하기 쉬워진다
- 공통 기능이나 서비스를 별도의 모듈로 분리함으로써 다른 프로젝트에서 필요한 부분만 갖다가 쓸 수 있다
- 각 모듈별로 테스트가 가능해진다
- 하나의 모듈로 사용할때는 관심사가 여럿인 파일들이 많아 테스트가 어렵지만, 관심사 별로 모듈을 분리하니 자신의 테스트가 필요한 모듈만 테스트가 가능해진다.
728x90
'프로그래밍 > 안드로이드' 카테고리의 다른 글
[Android] Google 에서 제공해주는 오픈소스 라이선스 관리용 라이브러리 (1) | 2024.09.29 |
---|---|
[Android] 안드로이드 Repository Pattern 및 UseCase Pattern 에 대해서 간단히 알아보자 (0) | 2024.09.29 |
[Android] 안드로이드 클린 아키텍처 (Clean Architecture) 에 대해서 알아보자 (4) | 2024.09.28 |
[Android] Django 로컬 서버 (localHost) 를 Android 에서 연동하는법 (0) | 2024.09.27 |
[Android] 안드로이드 스튜디오 프로젝트, 패키지명 한 번에 변경하기 (0) | 2024.09.25 |