view model 은 팩토리로 생성하는 이유
282
작성한 질문수 19
23강의 5:10에서 usecase,repository 는 싱글톤으로 만들고, viewmodel은 팩토리로 만드는 것이 일반적이라고 하셨습니다.
싱글톤으로 만드는 것은 이해했는데, 팩토리를 사용하는 이유는 무엇일까요?
viewModel 안의 state 의 내용이 UI 의 데이터로 채워지고, viewModel 안의 state 는 가변적이니 싱글턴으로 하는게 맞지 않을까라는 생각이 갑자기 들어서요. viewModel을 다시 만드는 것이 어떤 경우가 있는지 궁금합니다.
강의항상 재밌게 듣고 있습니다. 감사합니다.
답변 1
0
ViewModel 은 화면에 표시할 데이터를 제공하는 데이터 Holder 역할을 하게 됩니다.
화면을 위한 것이므로 화면과 같은 생명주기를 가져야만 버그 발생 가능성을 줄일수가 있습니다.
만약 List, Detail 두 개 화면이 있을 때 DetailViewModel 이 싱글턴으로 유지되면
새로운 항목 클릭해서 Detail 화면으로 왔을 때 기존 화면의 내용이 잠깐 남아 있다가 교체가 될 수도 있고
기존 화면의 내용 일부가 남아 있을 수도 있는 등의 버그 발생 가능성이 있고, 굉장히 귀찮아 집니다.
그래서 화면과 ViewModel 의 생명주기를 같게 하는 것이 중요합니다.
146 자료는 학습완료가 체크가 안돼요
0
32
1
'플러터 개발환경 세팅하기' 링크 클릭시, 악성 스크립트 설치 유도 페이지로 이동하니 조심하시길 바랍니다.
0
53
2
[강의 문의] '앱 출시하기' 강의 추가 일정 관련하여 문의드립니다.
0
38
1
안드로이드 기기 실행 오류
0
47
2
수강연장 가능할까요...
0
56
2
플러터 세팅 후 새폴더 생성건
0
50
2
강의에서 사용된 안드로이드 스튜디오 버전을 알고싶어요.
0
57
2
강의 자료는 어디있나요?
0
38
1
이미지 업로드해도 프로필에 x만 떠요
0
62
3
현재강의 완성된코드가있을까요?
0
96
1
플러터 환경분리 (production, qa 등) 질문
0
108
2
dataclass 오류
0
150
2
수업 노트에 있는 json 파일에 ingredient 관련 내용이 없습니다.
0
116
2
개발자 도구
0
83
1
figma
0
97
1
개발자도구
0
92
3
ui 테스트 코드 링크가 없습니ㅏㄷ.
0
98
1
jdk 설정 및 오류
0
431
3
텍스트 전체입력 후 검색 결과 조회
1
142
2
라이브 템플릿 링크 어디서 확인하나요?
0
176
2
ingredient view model의 _loadRecipe
0
124
1
BigButton 만들때.
0
143
1
31강 stream 활용시 어떤장점이 있나요?
0
238
2
domain 에 data_source 를 만드는 이유.
0
390
3





