일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- viewModelScope
- http 역사
- NestedScrollView
- appcompatacitivity
- 자이고트
- DiffUtil
- 리사이클러뷰풀
- AsyncListDiffer
- appcompatactivity
- 상태관리
- Kotlin
- recyclerview
- AAC
- GetX
- 운영체제
- 내부 단편화
- apk 빌드 과정
- 디자인 패턴
- 데코레이터 패턴
- 물리 메모리
- flutter
- 플로이드워셜
- Dispatchers
- Android
- 뷰홀더
- 안드로이드
- http발전과정
- 절대 주소
- 리사이클러뷰
- 프로세스
- Today
- Total
목록Design-Pattern (8)
hong's android

데코레이터 패턴이란? 어떤 객체에 기능을 동적으로 추가하는 패턴 문제점 여러 기능들이 나뉘어있는 클래스를 만들기 위해 상속을 이용하여 확장한다면 너무 많은 클래스들이 생긴다. 이를 방지하기 위해서 최상위 클래스에 공통적인 기능들을 정의한다. 하지만 해당 방식은 서브 클래스들이 모두 같은 기능을 상속받아야 하기 때문에 객체의 기능 확장에 유연하지 않다. 정적으로 기능들이 정해져있기 때문에 확장을 하기 위해선 슈퍼클래스에서 받은 것과 코드를 오버라이드한 것만 쓸 수 있다. 여러 조합을 통해서 객체를 만들어야하는 경우, 객체를 동적으로 기능을 추가하거나 삭제해야 하는 경우 데코레이터 패턴을 사용할 수 있다. 서브 클래스를 상속받는 것보다 기능을 더 유연하게 추가할 수 있다. Decorator라는 래퍼클래스를 ..
옵저버 패턴이란? 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의한다. 주제 - 옵저버로 일대다 관계가 이루어지고 주제의 상태가 바뀌면 옵저버들에게 연락이 간다. 왜 옵저버 패턴을 사용할까? 만약 데이터의 변경사항에 따라 다른 객체에게 알려야하는 로직을 구성할때 아래와 같이 구성된다. observer1.notify(int data1,int data2,int data3); observer2.notify(int data1,int data2,int data3); observer3.notify(int data1,int data2,int data3); subject 클래스 안에 위 로직으로 구성 할 수 있다. 위 로직은 subject ..