view model 은 팩토리로 생성하는 이유
266
작성한 질문수 19
23강의 5:10에서 usecase,repository 는 싱글톤으로 만들고, viewmodel은 팩토리로 만드는 것이 일반적이라고 하셨습니다.
싱글톤으로 만드는 것은 이해했는데, 팩토리를 사용하는 이유는 무엇일까요?
viewModel 안의 state 의 내용이 UI 의 데이터로 채워지고, viewModel 안의 state 는 가변적이니 싱글턴으로 하는게 맞지 않을까라는 생각이 갑자기 들어서요. viewModel을 다시 만드는 것이 어떤 경우가 있는지 궁금합니다.
강의항상 재밌게 듣고 있습니다. 감사합니다.
답변 1
0
ViewModel 은 화면에 표시할 데이터를 제공하는 데이터 Holder 역할을 하게 됩니다.
화면을 위한 것이므로 화면과 같은 생명주기를 가져야만 버그 발생 가능성을 줄일수가 있습니다.
만약 List, Detail 두 개 화면이 있을 때 DetailViewModel 이 싱글턴으로 유지되면
새로운 항목 클릭해서 Detail 화면으로 왔을 때 기존 화면의 내용이 잠깐 남아 있다가 교체가 될 수도 있고
기존 화면의 내용 일부가 남아 있을 수도 있는 등의 버그 발생 가능성이 있고, 굉장히 귀찮아 집니다.
그래서 화면과 ViewModel 의 생명주기를 같게 하는 것이 중요합니다.
Node 관련 질문입니다
0
15
2
구글 소셜 로그인 후 로그인 시 구글에러
0
21
1
실습중(개인 비용 관리 앱) 문의드려요
0
34
1
6강에 비디오가 이상해요
0
18
1
Isar 마지막 업데이트는 2년전입니다.
0
26
0
수강연장부탁드려도될까요..
0
37
2
Chat GPT API 설정하기 프롬프트
0
44
2
FlutterSecureStorage 질문
0
25
0
구글 플레이 등록 시, Privact Policy URL 등록 팁
0
36
1
현재강의 완성된코드가있을까요?
0
61
1
플러터 환경분리 (production, qa 등) 질문
0
73
2
dataclass 오류
0
113
2
수업 노트에 있는 json 파일에 ingredient 관련 내용이 없습니다.
0
86
2
개발자 도구
0
63
1
figma
0
83
1
개발자도구
0
72
3
ui 테스트 코드 링크가 없습니ㅏㄷ.
0
83
1
jdk 설정 및 오류
0
376
3
텍스트 전체입력 후 검색 결과 조회
1
129
2
라이브 템플릿 링크 어디서 확인하나요?
0
152
2
ingredient view model의 _loadRecipe
0
110
1
BigButton 만들때.
0
131
1
31강 stream 활용시 어떤장점이 있나요?
0
223
2
domain 에 data_source 를 만드는 이유.
0
366
3





