-
Notifications
You must be signed in to change notification settings - Fork 0
Z_2. DataManager CRUD Flow Chart
jeonghyeon Hwang edited this page Oct 25, 2022
·
2 revisions
-
Modify Log (최근 수정일: 2022.10.25 PM09:28)
최근 수정일: 2022.10.25 PM09:28 2022.10.25 기준까지 작성된 싱글톤 클래스 DataManager 및 하위 클래스들에 대한 데이터 플로우를 추가
1차 스프린트의 Default 기능 기반으로 작성된 Data CRUD Flow에 대한 페이지입니다.
- Default Structure: 기본 구조
- CRUD: Create
- CRUD: Read - Application Init
- CRUD: Read - Home View Controller
- CRUD: Read - Video Collection View Controller
- CRUD: Update
- CRUD: Delete

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

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

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

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

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

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을 수행한다. |

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을 수행한다. |