inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

22 노트 모델 클래스, NoteRepository 작성

NoteRepository 추상화 클래스

371

Sprint Inc.

작성한 질문수 4

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
안녕하세요 오준석님,
강의를 듣다가 Repository 추상화객체에 대해서 질문이 생겨서 질문을 남깁니다.
 
강의에서 NoteRepositoryImpl은 NoteRepository를 implement받아서 사용을 하는데 왜 이렇게 짜는지가 궁금합니다.
NoteRepository는 NoteRepositoryImpl만을 위한 추상화객체인데, 여기서밖에 사용을 안하는데 굳이 클래스로 따로 만들 필요가 있는지 의문이 들었습니다. 코드만 더 많이 짜게 되는건 아닌지 의문이 들어서 질문을 남겨봅니다!
 
오늘도 좋은 하루 되세요! 감사합니다~ :)
 

repository ios RepositoryImpl android Flutter

답변 1

1

오준석

NoteRepositoryImpl 만 있을 경우 테스트를 위해서 실제 코드를 수정해야 하기 때문입니다.

NoteRepository 같은 추상화 클래스 덕분에 테스트 코드 작성시 가짜 데이터로 교체하여 테스트를 수행할 수 있습니다.

그리고 기능의 추가, 수정에도 유연하게 대응할 수 있습니다.

만약, 사장님이 저장 기능을 클라우드에 수행하라고 했을 때, NoteCloudRepositoryImpl 을 추가 작성하면 됩니다. 기존 기능과 함께 사용하는 것도 가능하고요.

추상화 객체가 없다면 실제로 Repository를 다루는 부분에 복잡한 분기가 발생할 수도 있겠지요.

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

0

87

2

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

0

94

1

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

0

180

3

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

0

123

2

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

0

96

2

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

0

93

1

mockito사용시 오류 해결법

1

123

2

sealed class 사용 문의2

0

78

2

sealed class 사용 문의

0

119

2

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

0

263

2

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

0

238

2

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

1

319

3

강의 화면이 안보여요

0

137

3

Flutter에서 추천하는 Navigator, Router

0

323

2

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

0

325

3

event와 ui_event

0

212

1

코드 색깔 관련 질문

0

208

1

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

0

205

2

sealed class 적용 시...

0

326

1

클린 아키텍처 질문

0

309

1

sealed class 데이터 접근

0

327

1

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

0

234

1

뷰/뷰모델 작성 질문

0

272

1

freezed JsonKey 사용 예시 공유

1

792

1