[디자인 패턴] 추상 팩토리 패턴(Abstract Factory Pattern)

추상 팩토리 패턴은 매우 복잡하고 기괴한 패턴으로 오해 받지만 실제로는 매우 간단합니다. 팩토리 메서드 패턴을 이해했다면 금세 이해하게 될 것인데, 추상 팩토리는 팩토리들의 팩토리이기 때문입니다. 팩토리가 다른 클래스를 생성할 수 있는 함수 또는 클래스이고, 추상 팩토리는 팩토리를 생성하는 클래스입니다.

위의 설명을 이해하였더라도 여전히 추상 팩토리 패턴의 사용법이 무엇인지 궁금해 할 것입니다. 실제로 추상 팩토리의 주요 용도는 프레임워크, 특히 스프링 프레임워크가 될 것입니다. 이 프레임워크는 추상 팩토리 개념을 사용하여 어노테이션과 XML 파일에서 컴포넌트를 생성합니다. 그러나 프레임워크를 직접 만드는 것은 꽤 지루할 수 있으므로 이 패턴이 매우 유용한 또 다른 예시인 전략 게임을 살펴보겠습니다.

자세히 보기

Meaning of 'emit' in Android Jetpack Compose

Android Jetpack Compose의 공식 문서에서는 emit이라는 단어가 빈번히 등장합니다. emit은 _방출하다, 내보내다_라는 의미를 지니고 있는데 컴포저블에서 내보낸 UI를 누가 처리하는지, 애초에 내보낸다는 표현을 왜 쓰게 되었는지에 대해 명확한 설명이 없어 궁금증을 자아냅니다.

그래서 stackoverflow에 What is the exact meaning of ‘emit’ in Android Jetpack Compose?라는 질문을 올렸고 Composables.kt 내부의 소스 코드에 그에 대한 답이 있다는 것을 알게 되었습니다.

자세히 보기

[Android] Jetpack Compose 기초 - 아키텍처 레이어링

이 페이지에서는 Jetpack Compose를 구성하는 아키텍처 레이어와 관련 디자인에 큰 영향을 주는 핵심 원칙을 간략하게 설명합니다.

Jetpack Compose는 단일 모놀리식 프로젝트(single monolithic project)가 아닙니다. 완전한 스택을 만들기 위해 함께 조합된 다수의 모듈로 만들어졌습니다. Jetpack Compose를 구성하는 여러 모듈을 이해하면 다음이 가능합니다.

자세히 보기