Langsung ke konten utama

MVP (Model View Presenter) Pattern


MVP Pattern


MVP Pattern

Apa itu MVP Arsitektur?

Model-View-Presenter atau yang biasa disingkat menjadi MVP adalah sebuah konsep arsitektur pengembangan aplikasi yang memisahkan antara tampilan aplikasi dengan proses bisnis yang bekerja pada aplikasi. Arsitektur ini akan membuat pengembangan aplikasi kita menjadi lebih terstuktur, mudah di-test dan juga mudah di-maintain.
Berikut penjelasan masing-masing layer pada MVP.
View, merupakan layer untuk menampilkan data dan interaksi ke user. View biasanya berupa Activity, Fragment atau Dialog di Android. View ini juga yang langsung berkomunikasi dengan user.
Model, merupakan layer yang menunjuk kepada objek dan data yang ada pada aplikasi.
Presenter, merupakan layer yang menghubungkan komunikasi antara Model dan View. Setiap interaksi yang dilakukan oleh user akan memanggil Presenter untuk memrosesnya dan mengakses Model lalu mengembalikan responnya kembali kepada View.
Jadi keuntungan dalam menggunakan Pattern ini apa ?
Pada penjelasan diatas, pemisahan kode program berdasarkan fungsi dapat membuat struktur kode kita lebih rapi dan tentu saja lebih mudah di-test. Seperti yang kita ketahui, berbagai View yang kita gunakan biasanya bergantung keras (tighly-coupled) dengan library Android, sehingga kita akan kesulitan untuk melakukan testing pada aplikasi kita, misalnya unit testing. Dengan struktur pengembangan aplikasi ini, kita dapat membuat aplikasi kita lebih maintainable dan testable.
Untuk contoh implementasinya silahkan klik link ini Patterns https://github.com/azrinurvani/CRUD-Using-MVP-Patterns

Komentar

Postingan populer dari blog ini

Materi SISTEM KOMPUTER        I.      TEORI DASAR Komputer berasal dari kata Computare yang berarti menghitung. Dan definisi umum dari komputer adalah seperangkat alat elektronik yang dihubungkan dengan listrik yang berguna untuk membantu pekerjaan manusia agar lebih mudah, cepat dan akurat. Komputer juga sebagai alat informasi dan komunikasi yang mampu mengolah data dan kemudian menyimpannya. Sistem komputer adalah suatu jaringan elektronik yang terdiri dari perangkat lunak dan perangkat keras yang melakukan tugas tertentu (menerima input, memproses input, menyimpan perintah-perintah dan menyediakan output dalam bentuk informasi). Sistem komputer pada dasarnya terdiri dari Central Processing Unit (CPU), memori dan peralatan input/output. CPU adalah tempat berlangsungnya semua proses. Memori merupakan tempat penyimpanan program dan data sewaktu keduanya sedang diproses. Peralatan input/output bisa berupa keyboard dan monitor serta p...