HiltHilt는 의존성 주입을 위한 라이브러리입니다.의존성 주입객체 간의 의존성을 외부에서 주입하여 코드의 결합도를 낮추고 테스트 가능성을 높이는 방법입니다.객체 생성과 의존성 관리를 프레임워크나 DI 컨테이너에서 처리하도록 위임합니다.DaggerHilt는 Dagger를 기반으로 빌드되었습니다.Dagger가 제공하는 컴파일 시간 정확성, 런타임 성능, 확장성을 사용할 수 있으며, 안드로이드 의존성이 있다는 특징이 있습니다.Hilt 애플리케이션Hilt를 사용하는 모든 앱은 @HiltAndroidApp으로 주석이 지정된 Application 클래스를 포함해야 합니다.애플리케이션 수준 종속 항목 컨테이너 역할을 하는 애플리케이션의 기본 클래스를 포함하여 Hilt의 코드 생성을 트리거합니다.@HiltAndro..
💡안드로이드 아키텍처에서 중요한 역할을 하는 비즈니스 로직과 UI 로직에 대하여 정리하였습니다. 개요안드로이드에서는 다양한 Architecture Sample을 제공합니다. 아키텍처 패턴에 따라서 다양한 로직을 분리하게 되는데, 그 중에서 비즈니스 로직과 UI 로직은 각기 다른 역할을 수행하는 중요한 개념으로 적용되고 있습니다. 이 두개념은 서로 다른 책임을 가지고 있으며, 애플리케이션 아키텍처를 깔끔하고 유지보수 가능하게 만드는 데 중요한 역할을 합니다.https://github.com/android/architecture-samples/blob/130f5dbebd0c7b5ba195cc08f25802ed9f0237e5/app/src/main/java/com/example/android/architec..
💡안드로이드 아키텍처 패턴에서 Data Layer 역할을 담당하는 Repository, DataSourece에 대하여 기록하였습니다. 아키텍처 원칙앱 컴포넌트를 설계할 때 데이터 모델에서 UI를 도출해야 하는데 가급적이면 지속적인 모델이 권장됩니다.이를 기반으로 앱 아키텍처를 구축하면 테스트 가능성과 견고성이 높아지는 결과를 얻을 수 있습니다.데이터 모델은 UI요소나 기타 컴포넌트들과 독립되어 있는데, 지속적인 데이터 모델이 이상적인 아키텍처 패턴이 될 수 있습니다.지속적인 데이터 모델OS에서 리소스를 확보하기 위해 앱을 제거해도 데이터가 삭제되지 않습니다.네트워크 연결이 불안정하거나 비연결 상태에도 앱이 동작 합니다.SSOTSingle source of truth의 약자로 단일 소스 저장소를 뜻합니다..
안드로이드 개발을 하면서 가장 많이 접했던 MVVM 패턴에 대하여 기록하였습니다.MVVMMVVM은 안드로이드 개발에서 많이 사용되는 아키텍처 패턴 중 하나로, Model, View, ViewModel로 구성되어 있습니다.이 패턴은 코드의 재사용성, 테스트 용이성, 유지보수성을 높이기 위해 설계되었으며, UI 로직과 비즈니스 로직을 분리하여 복잡한 프로젝트에서도 모듈화가 가능하게 해줍니다.MVC와 MVP에서 View와 Model간의 의존성은 없었지만, Controller나 Presenter와 View 사이에 의존성은 여전히 존재합니다. MVVM에서 ViewModel을 도입하여 ViewModel이 View를 참조하지 않으므로 의존성을 제거할 수 있습니다. 비즈니스 로직과 프레젠테이션 로직을 UI로 부터 분리..
💡MVP 패턴에서 DataBinding을 활용한 양방향 DataBinding 대해 정리하였습니다! MVP with DataBindingMVP 패턴은 안드로이드에서 널리 사용되는 아키텍처 패턴 중 하나로, UI 로직과 비즈니스 로직을 분리하여 유지보수성과 테스트 용이성을 높입니다.DataBinding을 함께 사용하면 UI와 데이터를 더 쉽게 연결할 수 있으며, 코드량 감소와 직관적인 UI 업데이트가 가능해집니다.MVP에서 DataBinding을 사용하는 이유코드 간결화findViewById()를 통한 UI 탐색이 아닌 DataBinding을 통해 XML 레이아웃 파일과 직접적으로 연결할 수 있습니다.이를 통해 UI 요소와의 상호작용을 더 직관적이고 간단하게 처리할 수 있습니다.양방향 데이터 바인딩MVP ..
💡 우아한테크코스 과정을 진행하면서 MVC 디자인패턴을 MVP로 마이그레이션을 진행한 이유와 과정에 대하여 기록하였습니다! 개요이전에 MVC 패턴에 대하여 학습하였습니다.[디자인패턴] MVC [디자인패턴] MVC💡 디자인패턴 중에 하나인 MVC 패턴에 대하여 학습하였습니다 ! MVCMVC는 Model, View, Controller의 약자로 하나의 애플리케이션이나 프로젝트를 구성할 때 구성요소를 세가지 역할로 구분한 패턴입jinudmjournal.tistory.com하지만 MVC 패턴으로 구현 후 테스트와 의존성 관련해서 문제점이 있다는 것을 알게 되었고, 이를 보완한 MVP 패턴에 대해서 학습하였습니다.[디자인패턴] MVP [디자인패턴] MVP💡 디자인 패턴 중에 하나인 MVP 패턴에 대하여 학습..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.