Skip to content

Z_2. DataManager CRUD Flow Chart

jeonghyeon Hwang edited this page Oct 25, 2022 · 2 revisions

DataManager CRUD Flow Chart

  • Modify Log (최근 수정일: 2022.10.25 PM09:28)

    최근 수정일: 2022.10.25 PM09:28 2022.10.25 기준까지 작성된 싱글톤 클래스 DataManager 및 하위 클래스들에 대한 데이터 플로우를 추가

1차 스프린트의 Default 기능 기반으로 작성된 Data CRUD Flow에 대한 페이지입니다.

Data Chart 목록

  • Default Structure: 기본 구조
  • CRUD: Create
  • CRUD: Read - Application Init
  • CRUD: Read - Home View Controller
  • CRUD: Read - Video Collection View Controller
  • CRUD: Update
  • CRUD: Delete

Default Structure: 기본 구조

DefaultStructure
Component Description
DataManager Sorting 및 CRUD 작업이 이루어지는 UI측에서 직접적으로 Contact할 싱글톤 매니저
CoreDataDAO CoreData 접근을 위한 클래스
DataRepository 1회성 Fetch를 보장하기 위해 앱 내부에서 데이터 저장소 역할을 담당하는 클래스

CRUD: Create

CRUD_Create
Sequence Description
1. DataManager에서 Create 메소드를 호출한다.
2. CoreDataDAO를 통해 CoreData로 데이터 Creation을 실행한다.
3. DataRepository를 통해 CoreDataDAO를 통해 만들었던 VideoInformation을 RawVideoInformation에 반영한다.
4. VideoInformation은 Class Reference 타입으로 다른 배열에서도 해당 정보가 갱신된다.

CRUD: Read - Application Init

CRUD_READ_INIT
Sequence Description
1. DataManager에서 CoreDataDAO를 호출하여 CoreData Fetch를 실행한다. 이는 앱의 최초 실행 시에 단 1회만 수행된다.
2. CoreData로부터 불러온 데이터를 DataRepository의 RawVideoInformation에 넣어준다.
3. 2의 행위는 앱의 최초 실행 시에 단 1회만 수행된다.

CRUD: Read - Home View Controller

CRUD_READ_HOME
Sequence Description
1. DataManager에서 DataRepository를 호출하여 RawVideoInformation에 대해 Sorting을 수행한다.
2. Sort가 완료된 후 정제되어 출력된 2차원 배열을 기반으로 Home View Controller를 구성한다.

CRUD: Read - Video Collection View Controller

CRUD_READ_VIDEO
Sequence Description
1. 이미 정제되어 있는 RawVideoInformation을 기반으로 만들어진 2차원 배열 VideoInformation의 일부 1차원 배열만을 들고온다.
2. Video Collection View에서 데이터의 수정 및 삭제에 관한 작업이 이루어진 경우 해당 1차원 배열에 대해 다시금 Sorting을 수행한다.

CRUD: Update

CRUD_Update
Sequence Description
1. DataManager에서 Update 메소드를 호출한다.
2. CoreDataDAO를 통해 CoreData로 데이터 Update을 실행한다.
3. DataRepository의 RawVideoInformation 또한 Update를 실행한다.
4. 현재 머물고 있는 뷰가 Video Collection View Controller인 경우, 해당 뷰를 구성하는 데이터에 대한 Sorting을 수행한다.
5. Video Collection View Controller에서 벗어난 경우, 전체 RawVideoInformation에 대한 Sorting을 수행한다.

CRUD: Delete

CRUD_Delete
Sequence Description
1. DataManager에서 Delete 메소드를 호출한다.
2. CoreDataDAO를 통해 CoreData로 데이터 Delete을 실행한다.
3. DataRepository의 RawVideoInformation 또한 Delete를 실행한다.
4. 현재 머물고 있는 뷰가 Video Collection View Controller인 경우, 해당 뷰를 구성하는 데이터에 대한 Sorting을 수행한다.
5. Video Collection View Controller에서 벗어난 경우, 전체 RawVideoInformation에 대한 Sorting을 수행한다.