inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

05 InheritedWidget을 활용한 객체 주입

기능과 UI를 분리하는 이유 중 의존성

431

GyuJeong Park

작성한 질문수 2

0

fetch를 Widget 내부에서 실행할 경우 fetch가 동작하지 않을 때 Widget rendering이 안 될 수 있는 것을 의존적이다 라고 알고 있습니다.

하지만 데이터가 없는 상황이 아니라면 의존적일 수 밖에 없는 것 아닌가요? 의존성을 가지지 않게 만들어야하는 이유를 모르겠습니다.

ios android Flutter

답변 1

0

오준석

의존적인 것은 쉽게 얘기하면 import 를 해야지만 된다로 보시면 됩니다.

의존성을 분리하는 이유는 재활용성과 테스트를 용이하게 하기 위함입니다.

UI 화면을 작성하고 거기에 http 를 활용한 기능을 넣어놨다면 여기 UI 화면은 재활용성이 없습니다.

그리고 기능만 테스트하고 싶은데 기능이 UI 화면 파일에 들어가 있으니 기능의 테스트 코드 작성도 불가능합니다.

결국 전체 앱의 코드가 서로 의존성을 가지게 되어 어느 하나를 따로 분리해서 재활용도 어렵게 됩니다.

프로젝트가 진행되면서 나중에 기능 추가나 수정이 점점 어려워 집니다. 한 곳을 수정했더니 의존성이 있는 다른 곳에도 영향을 주게 됩니다.

나중에 프로젝트는 폐기하고 차라리 다시 만드는게 낫다고 하게 됩니다.

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

0

110

2

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

0

104

1

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

0

195

3

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

0

132

2

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

0

102

2

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

0

99

1

mockito사용시 오류 해결법

1

127

2

sealed class 사용 문의2

0

88

2

sealed class 사용 문의

0

123

2

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

0

275

2

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

0

246

2

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

1

332

3

강의 화면이 안보여요

0

142

3

Flutter에서 추천하는 Navigator, Router

0

335

2

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

0

331

3

event와 ui_event

0

217

1

코드 색깔 관련 질문

0

214

1

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

0

216

2

sealed class 적용 시...

0

336

1

클린 아키텍처 질문

0

317

1

sealed class 데이터 접근

0

333

1

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

0

238

1

뷰/뷰모델 작성 질문

0

276

1

freezed JsonKey 사용 예시 공유

1

797

1