Perbedaan antara MVC dan MVP

Perbedaan antara MVC dan MVP

MVC vs MVP

Model View Controller (juga dikenal sebagai MVC) adalah pola sifat arsitektur yang digunakan secara khusus dalam rekayasa perangkat lunak. Pola khusus ini digunakan untuk mengisolasi apa yang dikenal sebagai 'logika domain' - yang merupakan logika aplikasi untuk pengguna. Ini diisolasi dari input dan presentasi (dikenal sebagai GUI), dan memungkinkan pengembangan independen.

Model View Presenter (juga dikenal sebagai MVP) adalah permutasi langsung dari MVC. Ini adalah pola perangkat lunak (lebih khusus, pola desain antarmuka pengguna) yang dirancang khusus untuk membantu pengujian unit otomatis, dan meningkatkan apa yang dikenal sebagai pemisahan kekhawatiran dalam logika presentasi. Pemisahan kekhawatiran pada dasarnya adalah proses yang dengannya program komputer dipisahkan menjadi fitur berbeda yang tidak tumpang tindih, dalam hal bagaimana mereka berfungsi.

Bagian model MVC pada dasarnya adalah pola yang mewakili data melalui domain spesifik data yang digunakan untuk memungkinkan aplikasi beroperasi. Bagian tampilan mengubah model menjadi interaksi yang cocok untuk pengguna - ini biasanya merupakan elemen antarmuka pengguna. Akhirnya, bagian pengontrol paling tepat menerima input. Dengan membuat keputusan untuk objek yang ditemukan dalam model, pengontrol berfungsi sebagai katalis untuk respons.

Bagian model MVP mendefinisikan data yang akan ditampilkan (atau ditindaklanjuti) di antarmuka pengguna. Bagian tampilan menampilkan data yang ditentukan dalam model, dan mengirim perintah yang diminta pengguna (dikenal sebagai peristiwa) kepada presenter (yang akan bertindak berdasarkan data ini). Presenter, kemudian, bertindak pada model dan pandangan model. Dengan demikian, ia mampu mengambil data dari repositori (ditemukan dalam model), melanjutkan data, dan memformatnya, agar dapat dengan mudah ditampilkan dalam tampilan.

Ada varian MVC yang berbeda. Dengan demikian, aliran kontrol dalam urutan yang sangat ketat: pertama, pengguna akan berinteraksi dengan antarmuka (menekan tombol pada mouse, misalnya), dan kemudian pengontrol menangani acara input dan mengubahnya menjadi tindakan pengguna yang sesuai. Selanjutnya, pengontrol memberi tahu model apa yang telah dilakukan pengguna, yang kemungkinan besar akan menghasilkan model mengubah statusnya (sebagai pembaruan, misalnya). Tampilan kemudian mengajukan pertanyaan kepada model untuk menghasilkan antarmuka pengguna. Akhirnya, antarmuka pengguna menunggu instruksi yang akan memulai kembali siklus.

Ringkasan:

1. MVC adalah pola arsitektur yang mengisolasi logika domain; MVP adalah keturunan MVC yang dirancang untuk membantu menguji unit otomatis dan meningkatkan pemisahan kekhawatiran.

2. Sehubungan dengan MVC, model mewakili data, tampilan mengubah model menjadi interaksi yang ramah pengguna, dan pengontrol menerima input; Mengenai MVP, model mendefinisikan data, tampilan menampilkannya, dan presenter bertindak pada model dan tampilannya.