DataSource 개념

허준호·2025년 6월 27일
0

dart 언어 공부

목록 보기
12/16
post-thumbnail

DataSource

어플리케이션이 사용하는 원천 데이터를 가져오는 통로이다

ex) 마치 요리를 할 때 재료를 준비하는 과정과 같다.

특징

  • 텍스트, 파일, JSON, DB 등 다양한 형태가 있다
  • 어플리케이션은 단독으로 데이터를 생성하지 않는다
  • 대부분의 앱은 외부에서 데이터를 가져와서 화면에 보여준다

예시

  • 앱을 비빔밥이라고 가정
  • DataSource는 당근, 양파 같은 재료이다
  • 데이터를 가져와서 손질하고 요리(가공)해야 사용자에게 보여줄 수 있다

역할

  • 외부 데이터 저장소와 통신한다
  • Raw 데이터 수신 및 처리
  • CRUD 작업 수행

⇒ 즉, 데이터를 “가져오고", “정리해서", “보여주기 좋게 만드는" 역할

흐름도

  1. 밭 → 당근 수확 → 세척 및 손질 → 요리
  2. DB → Raw 데이터 추출 → JSON 파싱 → 앱에서 사용

initialize list와 factory 차이점

  • Initialize List
class Todo {
	int id;
	String title;
	bool isCompleted;
	
	Todo(this.id, this.title, this.isCompleted);
	
	Todo.fromJson(Map<String, dynamic> json)
		: id = json['id'], title = json['title'], isCompleted = json['isCompleted'];
}
  • factory
class Todo {
	int id;
	String title;
	bool isCompleted;
	
	Todo(this.id, this.title, this.isCompleted);
	
	factory Todo.fromJson(Map<String, dynamic> json) {
		return Todo(id: json['id'], title: json['title'], isCompleted: json['isCompleted'])
	}
}

factory 특징

값 대입 외에 추가적인 코드 실행이 가능하다

Impl 접미사

인터페이스 구현체임을 명확히 표시하기 위해 인터페이스 이름 뒤에 Impl을 붙여서 만든다


정리

  1. DataSource는 앱이 데이터를 가져오는 출발점이다
  2. 다양한 형태(JSON, CSV, DB 등)로 존재한다
  3. 데이터를 받아와서 객체로 변환하면 앱에서 쉽게 사용할 수 있다
profile
후추랑 소금 좋아하는 개발자

0개의 댓글