일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 디자인패턴 #
- El
- 추상팩토리패턴
- Functional Programming
- 빌터패턴
- 옵저버 패턴
- r
- builderPattern
- designPattern
- factory method
- ㅋㅁ
- 코틀린
- Design Pattern
- Abstract Factory
- 팩토리 메소드
- Observer Pattern
- 프로토타입 패턴
- 디자인패턴
- a
- PrototypePattern
- F
- 싱글톤
- Singleton
- Kotlin
- 추상 팩토리
- ㅓ
- 함수형프로그래밍
- Today
- Total
목록분류 전체보기 (327)
오늘도 더 나은 코드를 작성하였습니까?
클래스 간 종속성은 그래프로 표시할 수 있고 그래프에서 각 클래스는 종속된 클래스에 연결됩니다. 모든 클래스와 서로의 종속성을 표시하면 애플리케이션 그래프가 구성됩니다. 위 그림은 애플리케이션 그래프의 추상적 개념을 보여줍니다. 클래스 A(ViewModel)가 클래스 B(Repository)에 종속하면 A에서 B까지 가리키는 선이 종속성을 나타냅니다. 종속성 삽입을 사용하면 클래스를 쉽게 연결할 수 있고 테스트를 위해 구현을 교체할 수 있습니다. 예를 들어 저장소에 종속된 ViewModel을 테스트할 때 fake나 mock과 함께 Repository의 다른 구현을 전달하여 다른 사례를 테스트할 수 있습니다. 수동 종속성 삽입의 기본사항 흐름은 앱에서 기능에 상응하는 화면 그룹이라고 간주합니다. 로그인, ..
종속 항목 삽입(DI)은 프로그래밍에 널리 사용되는 기법으로, Android 개발에 적합합니다. DI의 원칙을 따르면 훌륭한 앱 아키텍처를 위한 토대를 마련할 수 있습니다. 종속 항목 삽입을 구현하면 다음과 같은 이점을 누릴 수 있습니다. 코드 재사용 가능 리팩터링 편의성 테스트 편의성 종속 항목 삽입 개요 클래스에는 흔히 다른 클래스 참조가 필요합니다. 예를 들어 Car 클래스는 Engine 클래스 참조가 필요할 수 있습니다. 이처럼 필요한 클래스를 종속 항목이라고 하며, 이 예에서 Car 클래스가 실행되기 위해서는 Engine 클래스의 인스턴스가 있어야 합니다. 클래스가 필요한 객체를 얻는 세 가지 방법은 다음과 같습니다. 1. 클래스가 필요한 종속 항목을 구성합니다. Car는 자체 Engine 인스..
시스템이 액티비티를 시작하라는 암시적 인텐트를 수신하면, 시스템은 해당 인텐트에 대한 최선의 액티비티를 검색합니다. 이때 다음과 같은 세 가지 측면을 근거로 인텐트를 인텐트 필터에 비교합니다 Action. Data(URI와 데이터 유형 둘 다). Category 인텐트 필터가 앱 매니페스트 파일에서 어떻게 선언되었는지에 따라 인텐트가 적절한 구성 요소에 어떻게 매칭되는지 확인해보자. 1. Action Test ... 이 필터를 통과하려면 Intent에 지정된 작업이 필터에 나열된 작업 중 하나와 일치해야만 합니다. 필터에 나열된 작업이 없는 경우, 인텐트가 일치될 대상이 아무것도 없으므로 모든 인텐트가 테스트에 실패합니다. 하지만 Intent가 작업을 지정하지 않는 경우, 필터에 최소한 한 개 이상의 작..
PendingIntent 객체는 Intent 객체 주변을 감싸는 래퍼입니다. PendingIntent의 기본 목적은 외부 애플리케이션에 권한을 허가하여 안에 들어 있는 Intent를 마치 본인 앱의 자체 프로세스에서 실행하는 것처럼 사용하게 하는 것입니다. Pending 인텐트의 주요 사용 사례 - 사용자가 여러분의 Notification으로 어떤 작업을 수행할 때 인텐트가 실행되도록 선언합니다(Android 시스템의 가 NotificationManagerIntent를 실행합니다) 알림 터치할 경우 인텐트로 구성요소 실행 - 사용자가 여러분의 앱 위젯으로 어떤 작업을 수행할 때 인텐트가 실행되도록 선언합니다(메인 화면 앱이 Intent를 실행합니다). - 향후 지정된 시간에 인텐트가 실행되도록 선언합니다..