Rabu, 28 Desember 2016

Memahami Istilah Abstraction Layer dengan Analogi Sederhana

Abstraction layer?  Saya mengartikan abstraction layer sebagai lapisan-lapisan antar muka yang berguna menyembunyikan kerumitan dalam beragamnya perbedaan dan mengambil beberapa persamaan dalam berbagai macam perbedaan.

Misalnya: Jalan-jalan.  Kata jalan-jalan terdengar implisit. Kemanapun arahnya, itulah yang namanya jalan-jalan. Setelah yakin memutuskan untuk pergi, ada beberap opsi yang bisa dipilih, jalan-jalan ke jakarta, jalan jalan ke surabaya, jalan-jalan ke semarang, ataupun ke kota lainnya. Jika kita sudah memilih jalan-jalan ke Surabaya, misalnya; kita selanjutnya memilih opsi transportasi. Misalnya dengan sepeda atau dengan kereta.

Ungkapan di atas adalah sebuah analogi sederhana untuk abstraction layer. Contoh abstraction layer yang sering kita temui adalah dalam manajemen file. Di antara beragam jenis file, filesystem dan media penyimpanan yang digunakan; kita dapat menyalin data melalui file manager dengan cara yang sama; meskipun sumber dan tujuan data memiliki properti yang berbeda. Ini berkat abstraction layer.
file abstraction layer

Ilustrasi di atas menunjukkan bagaimana proses akses file bekerja dengan alur kerja yang berbeda. Pertaama, Proses baca file melalui layer filesystem. Bisa diibaratkan FAT dan NTFS adalah  objek yang sama-sama merupakan turunan class filesystem. Semua filesystem memiliki method bacaFile(), namun tiap filesystem memiliki implementasinya sendiri-sendiri.

Dibawahnya lagi, layer filesystem harus berkomunikasi dengan layer disk I/O. Baik floppy ataupun CD adalah turunan class disk yang memiliki method bacaData() dengan implementasinya sendiri-sendiri pula.
Load disqus comments

0 comments