Skip to main content

Apa itu model-view-controller?

Model-view-controller (MVC) adalah jenis arsitektur perangkat lunak dan pola desain yang menggisikan setiap elemen program ke dalam bidang fungsionalitas yang jelas.Dalam arsitektur model-view-controller, model ini membahas semua logika program internal yang memanipulasi, menyimpan, mengambil, dan menangani dan menghitung data.Aspek tampilan bertanggung jawab untuk menampilkan informasi dari model untuk pengguna, dan juga menyediakan cara bagi pengguna untuk memberikan input ke program.Pengontrol mengambil input dari tampilan, menilai atau memprosesnya dan berinteraksi dengan model untuk mengubah data atau status program, yang pada akhirnya ditunjukkan kepada pengguna melalui tampilan.Meskipun desain model-viewer-controller membutuhkan program untuk merangkum fungsionalitas, tiga bagian masih perlu berinteraksi satu sama lain dalam beberapa cara dan umumnya bergantung pada satu sama lain dalam beberapa hal, tidak seperti pola desain yang lebih agresif lainnya.

cukup cukupSeringkali, pola model-view-controller terlihat dalam aplikasi yang mengelola antarmuka pengguna grafis (GUI).Menggunakan pola MVC, berbagai elemen visual GUI ditangani oleh tampilan, perekaman dan pemrosesan di mana dan apa yang diklik pengguna ditangani oleh pengontrol, dan benar -benar mengubah informasi atau memuat informasi dilakukan oleh model.Bergantung pada desain yang tepat dari suatu aplikasi, setiap komponen dari pola MVC dapat memiliki mekanisme untuk berinteraksi dengan komponen lain, seperti model yang dapat secara langsung menginstruksikan tampilan untuk menyegarkan layar atau tampilan yang memiliki cara untuk memberi tahu tersebutPengontrol bahwa itu menyegarkan layar dan tidak menerima input baru.Tidak seperti beberapa pola desain yang mengambil pendekatan kotak hitam yang ketat, program model-view-controller cenderung sedikit lebih fleksibel, meskipun beberapa implementasi dapat membuat program MVC sulit untuk diubah atau debug secara modular.

Dalam kasus tertentu, model-Pola view-controller tidak harus mengandung hanya satu dari setiap komponen.Salah satu contoh adalah aplikasi yang memiliki banyak tampilan, seperti beberapa monitor, atau tampilan yang dapat dilihat pada beberapa perangkat klien.Beberapa tampilan dan pengontrol dapat digunakan dalam aplikasi yang memungkinkan banyak pengguna untuk mengakses database, semua menjawab satu model.Namun, lebih umum untuk merancang sistem yang mempertahankan rasio satu-ke-satu dari komponen model-view-controller.

Meskipun komponen model-view-controller memiliki ketergantungan satu sama lain, itu bisa jauh lebih mudahUntuk memodifikasi bagian tertentu dari suatu sistem yang menggunakan pola MVC daripada jika tidak ada pola yang digunakan sama sekali, terutama dalam kasus aplikasi yang tidak berorientasi objek.Jika suatu aplikasi menggunakan panggilan balik atau pendengar dan pengamat untuk mengimplementasikan interaksi antara komponen, maka setiap komponen dapat diubah tanpa mempengaruhi dua lainnya.Ini berarti GUI baru dapat diimplementasikan tanpa mempengaruhi model atau pengontrol.Perlu dicatat, bagaimanapun, bahwa perubahan mendasar pada sistem model-view-controller mungkin memerlukan sejumlah kecil pengodean ulang untuk setiap komponen individu.