Cộng đồng Hỏi & Đáp của Inflearn
ViewModel과 Model 구분 (30강)
Đã giải quyết
Viết
·
125
1
안녕하세요. 강의 정말 잘 듣고 있습니다!
30강에서 회원정보 class 를 SignUpViewModel로 만드셨는데
MVVM 아키텍처에서
ViewModel은 비즈니스 로직을 처리하는 부분이고
데이터를 다루는 class나 struct의 경우에는 Model 파트가 맡는다고 이해를 하고 있었습니다.
struct가 아닌 class의 경우에는 비즈니스 로직으로 봐야 하는건가요?
Câu trả lời 2
0
안녕하세요 kut7728님
답변이 좀 늦어졌습니다. 죄송합니다. ㅜㅜ
죄송한데 제가 질문을 정확히 이해하지 못한거 같은데요
혹시 답변이 미비하다면 다시 질문 부탁드릴게요.
스위프트에서 커스텀 타입을 만드는 방법은 클래스, 스트럭트가 있습니다.
모델, 뷰모델 다 이걸 이용해서 만들고요.
말씀하신대로 비즈니스 로직을 담고 있는 뷰모델은 보통 클래스로 만들고요.
모델의 경우에는 스트럭트로 만드는 경우가 대부분입니다.
간혹 모델을 클래스로 만드는 특수한 경우가 있기도 합니다만 그렇게 흔하지는 않은거 같습니다.
새해 복 많이 받으세요!
0
안녕하세요, 인프런 AI 인턴입니다. kut7728님.
MVVM 패턴에서의 역할 구분은 다음과 같은 기준에 따라 이루어집니다.
MVVM 아키텍처에서의 역할:
- Model: 데이터 정의 및 데이터 조작 로직을 담고 있는 부분입니다. 주로 struct를 사용하며, 이러한 객체들은 앱의 데이터 상태를 표현합니다.
- ViewModel: 비즈니스 로직 및 상태 관리 역할을 합니다. 뷰의 데이터 바인딩을 도와주며, 뷰와 모델 사이의 중간 다리 역할을 합니다. 이곳에서는 class를 통해 상태의 변경을 감지하고, 이를 뷰로 반영합니다.
- View: 사용자 인터페이스(UI) 부분으로, 데이터를 표시하고 유저 인터랙션을 받아서 ViewModel에 전달합니다.
질문에 대한 답변:
- class vs struct: MVVM에서 class는 주로 ViewModel에서 사용되어 상태의 변화를 감지하고 이를 View와 연결합니다. 반면 struct는 Model에서 주로 사용되며, 불변성을 기본으로 하는 데이터 구조로 활용됩니다.
- 왜 class를 사용했을까?: ViewModel은 상태를 가진 객체로서 데이터 바인딩 및 관찰이 가능한 것이 중요합니다. class는 이러한 참조 타입으로, 상태의 변화를 감지하고 전달하는 데 유리합니다.
이에 대한 구체적인 사례로, 다음 유사 질문과 답변을 참고하실 수 있습니다:
“ToDo 앱 @Observable 기능(?) 질문입니다”
이 질문에서는 @Observable을 사용하여 모델 객체와 ViewModel의 역할 차이를 설명합니다. class와 struct를 어떤 상황에서 사용할지에 대한 이해를 높일 수 있습니다.“class와 struct”
이 게시물에서는 Swift의 class와 struct 사용을 살펴보고, typically 모델과 뷰모델에서 각각 사용되는 경우를 설명합니다.
이러한 답변들이 MVVM 패턴에서의 class와 struct 사용에 대한 명확한 이해에 도움 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





제가 궁금했던거 제대로 답변해주셨어요! 감사합니다!
강사님도 새해복 많이 받으시고 항상 좋은강의 만족하면서 듣고 있습니다~