HomePostsSearch
KeyFlow LogoKEYLOW
BETAv2026.03.11

안드로이드 MVVM 따라 하기 - MVVM에서의 안티 패턴

Taehwan kwon (theo)Taehwan kwon (theo)
about 1 month ago(Edited)
6 min read

ViewModel에 Context를 주입하고 계신가요? 안드로이드 개발자가 가장 흔하게 범하는 MVVM 설계 실수와 그 위험성을 공개합니다.

·ViewModel에서 Context를 직접 참조하거나 주입받는 것은 생명주기 불일치 문제를 야기하며, UI 관련 작업은 이벤트를 통해 View에서 처리하는 것이 올바르다.
·AAC-ViewModel과 ResourceProvider를 함께 사용할 경우, 화면 회전 시 Context가 새로 발행되는 상황을 고려하여 설계해야 리소스 접근 오류를 막을 수 있다.
·Clean Architecture의 UseCase 도입은 필수가 아니며, 인터페이스로 구분된 Repository와 Entity만으로도 충분히 테스트 가능한 구조를 유지할 수 있다.
SeriesPart 7 of 11

Architecture

View All
Previous
안드로이드 MVVM에서의 테스트 검증을 더 잘하려면?
Next
클라이언트 아키텍처에 대한 단상 - '서버'가 진짜 '도메인' 아닐까?

On this page

  • 이 글에서 알아볼 내용
  • 최소한 다음은 하지 말자
  • AAC-ViewModel을 써야 할까? ViewModel을 써야 할까?
  • 참고로
  • ViewModel 활용 시 interface로 설계하고, implementation class를 구현하는 경우
  • AAC-ViewModel을 쓰는 경우 주의할 점은?
  • DataBinding을 써야 할까?
  • Di?
  • ViewModel에서 Clean Architecture는?
  • 참고
  • Compose를 쓴다고 ViewModel이 달라지는가?
  • 마무리
Taehwan kwon (theo)

Taehwan kwon (theo)

@taehwandev

[안녕하세요, 태환입니다] 글쓰기 플랫폼 KeyFlow의 운영과 개발을 총괄하고 있는 태환입니다. 사용자가 생각에 집중할 수 있는 환경을 만들기 위해 플랫폼인 키플로우 전체의 기획부터 배포, 관리를 리딩하고 있습니다.

[경험 및 전문성]

  • KeyFlow Management: 서비스의 전반적인 운영을 책임지고 있습니다.
  • Mobile Engineering: 안드로이드와 iOS 플랫폼 모두에서 안정적이고 매끄러운 사용자 경험을 구현합니다. 기기의 특성에 최적화된 에디터와 기능을 개발하는 데 강점이 있습니다.
  • Openness & Stability: 플랫폼의 개방성을 확대하면서도, 시스템의 안정성을 놓치지 않는 균형 잡힌 개발 철학을 추구합니다.

[목표] 단순한 기능 구현을 넘어, 전 세계 사용자가 언어의 장벽 없이 소통할 수 있는 글로벌 플랫폼으로 KeyFlow를 성장시키는 것이 저의 목표입니다.

기술 스택 요약 (Tech Summary)

  • Mobile: Android (Kotlin/Java), iOS (Swift)
  • Highlight: GitHub Gist Integration, AI Language Detection, Cross-platform Optimization
kotlin
1
2
3
4
5
data class User(
  val name: String = "taehwan",
  val bio: String = "Android, iOS",
  val nickName: String = "Theo",
)
Next: 클라이언트 아키텍처에 대한 단상 - '서버'가 진짜 '도메인' 아닐까?
Was this helpful?Your support means a lot to the author.
Home
Posts
Inbox