DI(3)
-
Android의 모듈식 접근 방식
모듈의 종류App Module : 메인 모듈. ui, android 구성요소, 부트스트랩 코드 포함Feature Module : 각각 앱의 기능을 담당하는 모듈. 독립적으로 개발하고 테스트가 필요한 친구들을 이렇게 구분함Library Module : 네트워크 계층, 데이터베이스 서비스 또는 유틸리티 클래스와 같은 재사용 가능한 구성 요소Dynamic Feature Module(DFM) : 필요하지 않은 기능은 다운을 받지 않는 등, 선택적인 기능을 위한 동적 모듈 (ex : 앱 초기 설치 후 필요하지 않은 기능인 온보딩 모듈 등) 예시 앱 모듈:app기능 모듈: feature_login, feature_dashboard라이브러리 모듈: network,database동적 기능 모듈:feature_extra..
2023.12.15 -
6 Design Patterns Every Android Developer Must Know
Singleton 오직 하나의 인스턴스만 허용함 응용프로그램의 모든 부분에서 액세스가 가능 singleton클래스는 외부 코드에 의존하지 않고, 자체 인스턴스를 생성해야함 singleton 클래스는 인스턴스가 스레드로부터 안전한지 확인해야함 키 속성을 유지하면서, 필요한 경우 쉽게 확장하거나 하위 클래스로 분류할 수 있느 방식으로 설계되어야함 lass Singleton private constructor() { companion object { private var instance: Singleton? = null fun getInstance(): Singleton { if (instance == null) { instance = Singleton() } return instance!! } } } DB나..
2023.05.03 -
DI(종속 항목 삽입)
MVVM을 언제까지 외워서만 할 순 없다..... DI가 신기술은 아니고, 그래서 기술 리뷰로 들어가서도 안 되는 것 같지만 일단 여기 말곤 쓸 데가 없으니 메모한다. DI (종속 항목 삽입) / (의존성 주입) : 외부에서 의존 객체를 생성하여 넘기는 것 1. 의존성 파라미터를 생성자에 작성하지 않아도 되므로, 플레이트 코드를 줄일 수 있음. 2. Interface에 구현체를 쉽게 교체하면서 적절한 행동의 정의가 가능. 테스트 유용해짐. 대충 이래서 쓴단다. 근데 뭔 말인지...잘 모르겠다. 그래서 예시를 보기로 했다. 아래는 종속 항목 삽입이 되지 않아 문제가 발생할 가능성이 있는 코드이다. class Car { private val engine = Engine() fun start() { engin..
2022.05.12