Saya telah membaca selama tiga hari tentang pola Model-View-Controller (MVC) dan Model-View-Presenter (MVP) . Dan ada satu pertanyaan yang sangat mengganggu saya. Mengapa perancang perangkat lunak menciptakan MVP, padahal sudah ada MVC?
Masalah apa yang mereka hadapi, yang MVC tidak pecahkan (atau pecahkan dengan buruk), tetapi MVP bisa pecahkan? Masalah apa yang ingin diselesaikan oleh MVP?
Saya telah membaca banyak artikel tentang sejarah dan penjelasan MVP, atau tentang perbedaan antara MVC dan MVP, tetapi tidak ada yang memiliki jawaban yang jelas untuk pertanyaan saya.
Di salah satu artikel yang saya baca, dikatakan:
Sekarang ke Model View Presenter, yang merupakan respons terhadap kekurangan pola MVC ketika diterapkan pada antarmuka pengguna grafis berbasis komponen modern. Dalam sistem GUI modern, komponen GUI sendiri menangani input pengguna seperti gerakan mouse dan klik, daripada beberapa pengontrol pusat.
Jadi, saya tidak bisa mengerti, tetapi bisakah sebenarnya dengan cara lain, sehingga komponen GUI tidak menangani input pengguna sendiri? Dan apa sebenarnya artinya "menangani sendiri"?