Apa itu Persistance Layer?

29 Jul 2022
2609

Jadi apa itu persistance layer? Persistance layer adalah sebuah layer khusus yang bertugas untuk melakukan tugas Create, Update, Delete data dalam sebuah kesatuan aplikasi.

Persitance itu sendiri artinya adalah pengolahan data baik itu GET, CREATE, UPDATE atau DELETE (CRUD), entah itu data itu berbentuk database, file, json atau lainnya.

Daftar Isi

Sedangkan layer artinya pembukus, atau lapisan. 

Fungsi Persistance Layer

Persistance layer berfungsi untuk memisahkan pemrosesan data dari business layer. Sehingga business layer menjadi lebih kurus dan bisa fokus ke tugas utamanya yaitu data manipulation / memproses data sesuai kebutuhan.

Fungsi lainnya adalah dengan membuat persistance layer, jika suatu saat terjadi perubahan sumber data, kalian tidak usah mengubah kodingan di business layer, tapi cukup dengan mengubah di bagian persistance layer.

Bisa kasi contoh tentang Persistance layer?

Contoh penggunaan persistance layer berkaitan erat dengan repository design pattern.

Contoh tanpa persistance layer.

class ArticleController {
    // ... constructor etc ...
    public function getArticle()
    {
        $id = $_GET['id'];
        // Cari dari database MySQL
        $sql = "SELECT * FROM article WHERE (...etc)";
        if (! $result = mysqli_query($this->connection, $sql)) {
            // Error
            throw new \Exception('Artikelnya gak ketemu pak');
        }
        $row = mysql_fetch_row($result);
        // Proses $row ...
        
        echo json_encode(['article' => $row]);
    }
    // Rest of CRUD
}

Misalnya kita buat sebuah respository dengan nama ArticleRepository

clas ArticleRepository {
    public function findAll(){
        // Cari dari database MySQL
        $sql = "SELECT * FROM article WHERE (...etc)";
        if (! $result = mysqli_query($this->connection, $sql)) {
            // Error
            throw new \Exception('Artikelnya gak ketemu pak');
        }
        $row = mysql_fetch_row($result);
		return $row;
    }
    
}

Kemudian implementasi persistance layer di controller sebelumnya.

class ArticleController {
    // ... constructor etc ...
    public function getArticle()
    {
        $id = $_GET['id'];
        $repo = new ArticleRepository();        
        $article = $repo->findById($id);
        
        return response()->json(['article' => $article]);
    }
}

Nah itulah contoh implementasi persistance layer.

Jadi misalnya kita ingin mengubah cara kita mengambil data, kita tidak perlu lagi mengubah controller, melainkan cukup mengubah di Repository saja.

Nah itulah penjelasan tentang persistance layer, semoga mencerahkan ya guys!

Artikel Lainnya

Artikel lain yang mungkin menarik juga untuk kamu baca.

Tips untuk simple code: part 4. Batasi penggunaan variable yang tidak perlu

Tips untuk simple code adalah membatasi penggunaan variable yang tidak perlu. Mau tahu implementasinya seperti apa? Yuk baca artikel ini lebih lanjut.
Agus Yusida
5 min read 1806

Tips untuk simple code: part 3. satu level indentation

Part ketiga dari tips membuat kode kamu lebih simple ini adalah bagaimana caranya agar kode yang kamu buat memiliki minimal satu level indentation di dalam fungsi yang kamu buat. Kedengarannya memang susah sih, tapi kita lihat dahulu sample kode di bawah ini.
Agus Yusida
5 min read 1784

Tips untuk simple code: part 2. Hindari penggunaan Else

Tips untuk simple code part 2 adalah menghindari penggunaan else yang berlebihan dalam kodingan kamu.
Agus Yusida
5 min read 1797

© 2024