Sabtu, 28 April 2018

pengertian MVP, Retrofit, JSON, Dagger

ada yang bertanya-tanya apa itu MVP nah disini saya akan menjelaskan sedikit tentang MVP. 


Pola MVP (Model View Presenter) adalah turunan dari MVC terkenal (Model View Controller), yang untuk sementara sekarang semakin penting dalam pengembangan aplikasi Android. Semakin banyak orang membicarakannya, tetapi sangat sedikit informasi yang dapat diandalkan dan terstruktur. Itulah mengapa saya ingin menggunakan blog ini untuk mendorong diskusi dan membawa semua pengetahuan kami untuk menerapkannya dengan cara sebaik mungkin untuk proyek kami.

Apa itu MVP?
Pola MVP memungkinkan memisahkan lapisan presentasi dari logika , sehingga segala sesuatu tentang bagaimana antarmuka bekerja dipisahkan dari bagaimana kita merepresentasikannya di layar. Idealnya pola MVP akan mencapai logika yang sama mungkin memiliki pandangan yang sama sekali berbeda dan dapat dipertukarkan.
Hal pertama yang harus diklarifikasi adalah bahwa MVP bukanlah pola arsitektur , itu hanya bertanggung jawab untuk lapisan presentasi. Dalam hal apapun itu selalu lebih baik untuk menggunakannya untuk arsitektur Anda yang tidak menggunakannya sama sekali.

Mengapa menggunakan MVP?
Di Android, kami memiliki masalah yang timbul dari fakta bahwa aktivitas Android sangat terkait erat dengan antarmuka dan mekanisme akses data. Kita dapat menemukan contoh ekstrim seperti CursorAdapter, yang mencampur adaptor, yang merupakan bagian dari tampilan, dengan kursor, sesuatu yang harus diturunkan ke kedalaman lapisan akses data.
Agar aplikasi dapat diperluas dan dipelihara dengan mudah, kita perlu mendefinisikan lapisan yang terpisah dengan baik. Apa yang kita lakukan besok jika, daripada mengambil data yang sama dari database, kita perlu melakukannya dari layanan web? Kami harus mengulang seluruh pandangan kami.
MVP membuat tampilan independen dari sumber data kami. Kami membagi aplikasi ke setidaknya tiga lapisan yang berbeda, yang memungkinkan kami mengujinya secara independen. Dengan MVP kita dapat mengambil sebagian besar logika dari kegiatan sehingga kita dapat mengujinya tanpa menggunakan pengujian instrumentasi.

Bagaimana menerapkan MVP untuk Android
Nah, di sinilah semuanya mulai menjadi lebih menyebar. Ada banyak variasi MVP dan setiap orang dapat menyesuaikan ide pola dengan kebutuhan mereka dan cara mereka merasa lebih nyaman. Polanya bervariasi, tergantung pada besarnya tanggung jawab yang kita delegasikan kepada presenter.
Apakah pandangan bertanggung jawab untuk mengaktifkan atau menonaktifkan bilah kemajuan, atau haruskah itu dilakukan oleh presenter? Dan siapa yang memutuskan tindakan mana yang harus ditampilkan di Bilah Tindakan? Di situlah keputusan sulit dimulai. Saya akan menunjukkan bagaimana saya biasanya bekerja, tetapi saya ingin artikel ini menjadi tempat diskusi lebih lanjut tentang pedoman ketat tentang cara menerapkan MVP, karena hingga tahu tidak ada cara "standar" untuk menerapkannya.

Presenter
Presenter bertanggung jawab untuk bertindak sebagai perantara antara tampilan dan model . Ini mengambil data dari model dan mengembalikannya diformat ke tampilan. Namun tidak seperti MVC biasa, ia juga memutuskan apa yang terjadi ketika Anda berinteraksi dengan tampilan.

Pandangan
Tampilan, biasanya diimplementasikan oleh Activity (mungkin berupa Fragment, View ... tergantung pada bagaimana aplikasi terstruktur), akan berisi referensi ke presenter. Presenter idealnya akan disediakan oleh injektor ketergantungan seperti Dagger , tetapi jika Anda tidak menggunakan sesuatu seperti ini, itu akan bertanggung jawab untuk membuat objek presenter. Satu-satunya hal yang akan dilakukan oleh tampilan adalah memanggil metode dari presenter setiap kali ada aksi antarmuka (misalnya klik tombol).

Model
Dalam aplikasi dengan arsitektur berlapis yang baik, model ini hanya akan menjadi gerbang ke lapisan domain atau logika bisnis, model mungkin akan menjadi interactor yang mengimplementasikan use case. Tapi ini topik lain yang ingin saya bahas di artikel mendatang. Untuk saat ini, cukup untuk melihatnya sebagai penyedia data yang ingin kami tampilkan dalam tampilan.

Kesimpulan
Memisahkan antarmuka dari logika di Android bukanlah hal yang mudah, tetapi pola Model-Tampilan-Presenter membuat sedikit lebih mudah untuk mencegah aktivitas kami akhirnya merosot menjadi kelas-kelas yang sangat berpasangan yang terdiri atas ratusan atau bahkan ribuan baris. Dalam aplikasi besar sangat penting untuk mengatur kode kita dengan baik. Jika tidak, itu menjadi tidak mungkin untuk dipertahankan dan diperluas.



Tambahan

Retrofit adalah Client REST untuk Android dan Java. Itu membuatnya relatif mudah untuk mengambil dan mengunggah JSON. Retrofit menggunakan pustaka OkHttp untuk permintaan HTTP.

JSON (dilafalkan "Jason"), singkatan dari JavaScript Obyek Notasi (bahasa Indonesia: notasi objek JavaScript), adalah format gabungan data komputer. Formatnya berdasarkan teks dan terbaca-manusia sekarang untuk merepresentasikan struktur data sederhana dan larik asosiatif (disebut objek).

Dagger adalah injector. Anda dapat melihat detail lebih lanjut tentang Dagger di situs ini

Tidak ada komentar:

how to update playonlinux? || bagaimana update playonlinux di linux mint

open terminal wget -q "http://deb.playonlinux.com/public.gpg" -O - | sudo apt-key add - sudo wget http://deb.playonlinux.com/pla...