강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của liang
liang

câu hỏi đã được viết

Flutter Nâng cao - Kiến trúc cấp độ thực tế chuyên nghiệp

23 Tiêm phụ thuộc (DI)

view model 은 팩토리로 생성하는 이유

Viết

·

259

0

23강의 5:10에서 usecase,repository 는 싱글톤으로 만들고, viewmodel은 팩토리로 만드는 것이 일반적이라고 하셨습니다.

싱글톤으로 만드는 것은 이해했는데, 팩토리를 사용하는 이유는 무엇일까요?

 

viewModel 안의 state 의 내용이 UI 의 데이터로 채워지고, viewModel 안의 state 는 가변적이니 싱글턴으로 하는게 맞지 않을까라는 생각이 갑자기 들어서요. viewModel을 다시 만드는 것이 어떤 경우가 있는지 궁금합니다.

 

강의항상 재밌게 듣고 있습니다. 감사합니다.

fluttermvvmstate-management클린-아키텍처

Câu trả lời 1

0

survivalcoding님의 프로필 이미지
survivalcoding
Người chia sẻ kiến thức

ViewModel 은 화면에 표시할 데이터를 제공하는 데이터 Holder 역할을 하게 됩니다.

화면을 위한 것이므로 화면과 같은 생명주기를 가져야만 버그 발생 가능성을 줄일수가 있습니다.

 

만약 List, Detail 두 개 화면이 있을 때 DetailViewModel 이 싱글턴으로 유지되면

새로운 항목 클릭해서 Detail 화면으로 왔을 때 기존 화면의 내용이 잠깐 남아 있다가 교체가 될 수도 있고

기존 화면의 내용 일부가 남아 있을 수도 있는 등의 버그 발생 가능성이 있고, 굉장히 귀찮아 집니다.

 

그래서 화면과 ViewModel 의 생명주기를 같게 하는 것이 중요합니다.

Seung Min Liang님의 프로필 이미지
Seung Min Liang
Người đặt câu hỏi

이해가 됐습니다! 감사합니다.

Hình ảnh hồ sơ của liang
liang

câu hỏi đã được viết

Đặt câu hỏi