inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Flutter 중급 1편 - 클린 아키텍처

28 두 번째 ViewModel 작성

뷰/뷰모델 작성 질문

해결된 질문

269

지루한 성게

작성한 질문수 8

0

강의를 수강하며 클린 아키텍쳐라는 개념을 처음 사용하다보니 미숙한 부분이 많다보니 질문이 많아지는 것 같습니다.^^;

 

페이지간 이동이 아닌,

하나의 페이지안에서 일부 위젯들만 변경되거나 노출/숨김되는 경우, 그러나 기능적으로는 분명한 차이가 있을 때, 뷰/뷰모델 작성은 어떻게 나누어서 하면 될까요?

간단한 예를 들어보면

같은 배경에서 중앙에 배치 되는 위젯들만 PageScroll 또는 숨김/노출되는 상황입니다.

위젯의 배치로만 보았을 때는 1개의 view에 여러개의 component가 있는 형태이지만,

기능적으로 구분하면 시작/비디오선택/비디오플레이/다시하기 이런식으로 4개의 view로도 구분할 수 있는 것 같아보입니다.

강사님께서는 이럴 경우 어떤식으로 코드를 작성하시는지 궁금합니다.

flutter ios android

답변 1

1

오준석

ViewModel 1개에서 기능 갯수만큼의 use case 를 주입받으면 될 것 같습니다.

또는

4개의 View라는 관점으로 접근하셔서 나누어도 됩니다.

 

클린한 코드에 절대적인 규칙은 없습니다. 제 강의 또한 하나의 가이드에 불과합니다.

 

만약 앱의 규모가 크다면 기능별로 모듈화하여 구조를 가져갈 수도 있습니다.

예를 들어 인증 기능과 프로필 기능을 가진 큰 앱은 다음과 같이 기능별로 구조를 나눌 수도 있습니다.

image

 

MVVM, 클린 아키텍처 관련 질문 있습니다.

0

85

2

가끔씩 ui가 깨지는? 현상이 있어서 질문드립니다.

0

91

1

freezed 3.0 대응된 코드 깃헙에도 업데이트 해주실 수 있으신가요?

0

176

3

sealed class 사용시 기능은 동작하지만 Radio위젯에 선택 표시가 안되는 부분 질문

0

117

2

sealed class 사용시 The getter 'orderType' isn't defined for the type 'NoteOrder<dynamic>' 오류

0

92

2

유즈케이스 관련하여 질문 드립니다.

0

91

1

mockito사용시 오류 해결법

1

122

2

sealed class 사용 문의2

0

74

2

sealed class 사용 문의

0

116

2

freezed3.0에서 build시 when생성되지 않습니다.

0

263

2

Try implementing the missing methods, or make the class abstract. 문제해결 공유

0

235

2

This is likely caused by a misconfigured builder definition. 오류 해결 방법

1

315

3

강의 화면이 안보여요

0

133

3

Flutter에서 추천하는 Navigator, Router

0

322

2

The following ProgressEvent object was thrown resolving an image codec: [object ProgressEvent]

0

324

3

event와 ui_event

0

211

1

코드 색깔 관련 질문

0

207

1

Photo.fleezed.dart,photo.g.dart삭제시 에러

0

203

2

sealed class 적용 시...

0

325

1

클린 아키텍처 질문

0

307

1

sealed class 데이터 접근

0

323

1

서버에서 데이터를 가져와서 사용하는 경우...

0

230

1

freezed JsonKey 사용 예시 공유

1

789

1

아이폰에서 APP 실행 안되는 현상

0

641

1