일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 추상 팩토리
- 빌터패턴
- builderPattern
- 프로토타입 패턴
- ㅋㅁ
- r
- F
- El
- Design Pattern
- Observer Pattern
- ㅓ
- 함수형프로그래밍
- factory method
- PrototypePattern
- Abstract Factory
- designPattern
- 옵저버 패턴
- a
- Kotlin
- Singleton
- 디자인패턴
- 팩토리 메소드
- 싱글톤
- 코틀린
- 추상팩토리패턴
- 디자인패턴 #
- Functional Programming
- Today
- Total
목록분류 전체보기 (327)
오늘도 더 나은 코드를 작성하였습니까?
권장사항 UI 컨트롤러(활동과 프래그먼트)를 가능한 한 가볍게 유지하세요. 이러한 컨트롤러는 자체 데이터를 확보하려고 해서는 안 됩니다. 대신 ViewModel을 사용하여 데이터를 확보하고 LiveData 객체를 관찰하여 변경사항을 다시 뷰에 반영한다(DataBinding 을 이용한다) 데이터 기반 UI를 작성해 보세요. 여기서 데이터 변경에 따라 뷰를 업데이트하거나 사용자 작업을 다시 ViewModel에 알리는 것은 UI 컨트롤러의 책임입니다. ViewModel 클래스에 데이터 로직을 넣으세요. ViewModel은 UI 컨트롤러와 나머지 앱 간의 커넥터 역할을 해야 합니다. 하지만 데이터를 가져오는 것(예: 네트워크에서 데이터 가져오기)은 ViewModel의 책임이 아닙니다. 대신 ViewModel은 ..
만약 LifecycleOwner를 직접 구현하려면 LifecycleRegistry 클래스를 사 용수 있다. 다음 코드 예에서와 같이 LifecycleRegistry 클래스에 이벤트를 전달해야 합니다. public class MyActivity extends Activity implements LifecycleOwner { private LifecycleRegistry lifecycleRegistry; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); lifecycleRegistry = new LifecycleRegistry(this); lifecycleRegistry.markSt..
Activity 및 fragment 다른 컴포넌트의 생명주기 상태가 변경될 때 이에 대응해주는 라이브러리이다. 생명주기 인식 컴포넌트를 사용하면 더 체계적이고 가벼운 코드를 작성하고 유지보수에 용이하다. 일반적으로 Activity와 fragment는 각 생명주기에 해당하는 핸들러 메서드에서 데이터나 리소스를 할당하고 정리하는데 코드가 많아지고 잠재적인 에러 유발 요소가 증가한다. 생명주기에 의존적이던 코드를 생명주기 메서드에서 걷어내고 생명주기 인식 컴포넌트에 이를 위임한다. androidx.lifecycle 패키지는 액티비티 또는 프래그먼트 생명주기 상태에 따라 자동으로 동작을 조정할 수 있는 클래스와 인터페이스를 제공한다. 왜 생명주기가 중요한가? 안드로이드 프레임 워크의 핵심 구성요소(Activit..
코틀린 인터페이스 - 코틀린 인터페이스는 자바 8 인터페이스와 유사하다. - 추상 메서드뿐 아니라 구현이 있는 메서드도 정의 가능하다(자바 Default method와 유사) - 어떤 필드도 선언 불가능하다. - 자바와 동일하게 인터페이스는 여러 개를 구현할 수 있지만 클래스는 1개만 상속 가능하다. - override 변경자는 반드시 사용해야 된다. 아래와 같이 2개의 인터페이스를 1개의 클래스에서 구현하다면 둘 다 default showOff 메서드가 구현되어 있는데 어떻게 될까? Class 'Button' must override public open fun showOff(): Unit defined in Clickable because it inherits multiple interface met..