코틀린 디자인 패턴 시리즈 (9) – Decorator 패턴은 상속 대신 어떻게 확장할까
Decorator 패턴은 코틀린에서 기능을 덧붙일 때 상속 계층을 더 만드는 대신 래퍼를 겹쳐 붙이는 방식입니다. 로깅, 압축, 암호화 같은 부가 기능을 composition으로 확장하는 감각을 Kotlin 예제로 정리합니다.
Decorator 패턴은 코틀린에서 기능을 덧붙일 때 상속 계층을 더 만드는 대신 래퍼를 겹쳐 붙이는 방식입니다. 로깅, 압축, 암호화 같은 부가 기능을 composition으로 확장하는 감각을 Kotlin 예제로 정리합니다.
이벤트 스토밍을 포스트잇 워크숍이 아니라 도메인 대화를 설계 경계로 옮기는 방법으로 설명합니다. 왜 도움이 되는지, bounded context를 어떻게 드러내는지, 언제 유용하고 언제 연극처럼 망가지는지 실무 기준으로 정리합니다.
안드로이드 Repository 패턴을 어디까지 두면 좋은지 정리합니다. Repository의 책임 범위, UseCase가 도움이 되는 경우와 과한 경우, 앱 규모별 현실적인 판단 기준을 실무 관점으로 설명합니다.
DDD의 Bounded Context를 주문, 결제, 회원 예시로 쉽게 설명합니다. 같은 단어가 왜 팀마다 다른 뜻이 되는지와 그 차이가 코드·API 경계로 어떻게 이어지는지 실무 감각으로 정리합니다.
코틀린 Composite 패턴은 파일과 폴더처럼 개별 객체와 묶음 객체가 반복되는 트리 구조에서 특히 유용합니다. 호출부에 분기와 재귀를 흩뿌리지 않고, 공통 인터페이스로 전체 트리를 일관되게 다루는 감각을 Kotlin 예제로 정리합니다.
안드로이드 UDF는 패턴 이름보다 상태 변경 경로를 통제하는 감각으로 이해하는 편이 훨씬 실용적입니다. 이 글에서는 MVVM 안에서 UDF를 어떻게 적용하면 좋은지, StateFlow와 SharedFlow를 어떤 역할로 나누면 좋은지, 그리고 어디서부터 구조가 과해지는지까지 실무 기준으로 정리합니다.