📊

Pahami Data Layer dalam Clean Architecture

Aug 10, 2024

Catatan Kuliah: Clean Architecture - Penjelasan Data Layer

Pendahuluan

  • Melanjutkan materi Clean Architecture.
  • Domain layer sudah dibahas, sekarang fokus pada data layer.

Data Layer

  • Data layer adalah langkah kedua setelah domain layer.
  • Data layer bertanggung jawab untuk mengambil data dari database sebelum menampilkan ke UI.

Struktur Data Layer

  • Folder dalam data layer:
    • Data Source
    • Model
    • Repositories

Repositories

  • Repositories dalam data layer bukanlah abstrak, tetapi implementasi dari repository di domain layer.

Model

  • Model digunakan untuk mengonversi data dari JSON ke bentuk objek Dart.
  • Contoh: Model untuk profil pengguna dengan atribut id, email, firstName, lastName, dan Avatar.

Pembuatan Model

  • Model Profil:
    • Extends dari entitas Profile.
    • Menyusun constructor dengan super untuk mengirimkan data ke parent.
    • Implementasi fromJson dan toJson untuk konversi data.

Contoh Implementasi

  • fromJson: Mengonversi data JSON ke dalam model.
  • toJson: Mengonversi model kembali ke bentuk JSON.

Data Source

  • Data Source berfungsi sebagai sumber data, yang bisa diambil dari:
    • Internet (Remote)
    • Local Database (Offline)
  • Dapat menggabungkan data dari beberapa sumber.

Pembuatan Remote Data Source

  • Contoh implementasi untuk mengambil data pengguna dari API.
  • Menggunakan package http untuk melakukan request.

Pembuatan Local Data Source

  • Menggunakan package seperti Hive untuk penyimpanan lokal.
  • Implementasi fungsi untuk mendapatkan semua pengguna dan pengguna berdasarkan ID.

Repository Implementation

  • Mengimplementasikan logika untuk mengambil data dari local atau remote source berdasarkan koneksi internet.
  • Menggunakan package connectivity_plus untuk mengecek status internet.

Struktur Logika

  • Jika ada koneksi, ambil dari remote; jika tidak ada, ambil dari local.
  • Setelah mengambil data dari remote, simpan juga ke local.

Kesimpulan

  • Data layer sudah berhasil dibangun sesuai dengan clean architecture.
  • Selanjutnya, akan dilanjutkan ke presentation layer.