• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

클린 아키텍처에 대해

22.08.18 16:32 작성 조회수 253

0

안녕하세요. 항상 친절한 답변 감사합니다.
이번 강의를 보다가 궁금증이 몇 개 생겨 질문드립니다.
 
1. Use Case가 MVC 패턴의(?) service와 비슷하다는 느낌을 받았는데 비슷한 개념인지 궁금합니다.
 
2. 기능에 따라 (강의에서는 5개(업데이트, 추가, 삭제 등)) class 별로 각자 구현하였는데 이 방식이 call 함수를 쓰기 위함인지 궁금합니다.
MVC에서는 Service 계층에서 하나의 클래스 안에 필요한 메서드(Use Case)를 생성했었는데 기능 하나마다 클래스를 만드니 메모리면에서(큰 프로젝트에서는) 낭비가 되지 않나 싶습니다.
 
3. 모델이 여러개인 경우 use_case 안에 여러개의 모델 디렉토리를 만들어 그 모델 디렉토리 안에서 dart파일을 보통 관리하나요?
 
4. note_repository에서 추상클래스를 만들고, 그를 구현하는 NoteRepositoryImpl를 만들고, 구현한 그를 사용하는 db_helper를 또 만들었습니다.
Impl과 helper를 합칠만하다고 생각하는데 따로 관리하는 이유가 궁금합니다.

답변 1

답변을 작성해보세요.

1

1. MVC 의 서비스는 오히려 Repository 와 비슷하지 않나 생각됩니다.
UseCase 는 기능 하나를 클래스 하나로 감싼 것입니다.

2. 네 call 함수를 활용하여 UseCase를 구현하려고 하였습니다. 메모리 측면에서는 UseCase 5개 먼저 인스턴스화 해 놓은 것 뿐이기 때문에 별 차이가 없습니다.

3. 모델은 모델 클래스를 말씀하신 것인가요? 모델 클래스는 도메인 레이어에 몰아 넣어 둡니다.

4. db_helper가 따로 있으면 db를 테스트하기 편하기 때문입니다.