Bagaimana cara Mewakilinya Menggunakan Diagram Urutan UML?
MVC (dikenal sebagai Model-View-Controller) adalah pola dalam desain perangkat lunak yang umum digunakan untuk mengimplementasikan antarmuka pengguna, data, dan logika kontrol. Ini menekankan pemisahan antara logika bisnis dan presentasi perangkat lunak. “Pemisahan kepentingan” ini memberikan pembagian kerja yang lebih baik dan pemeliharaan yang lebih baik.
Tiga Bagian dari MVC
Tiga bagian daripola desain perangkat lunak MVCdapat dijelaskan sebagai berikut:
- Model: Mengelola data dan logika bisnis. Model bertanggung jawab untuk mengelola data aplikasi. Ini menerima input pengguna dari pengontrol.
- Tampilan: Menangani tata letak dan tampilan. Tampilan merender presentasi model dalam format tertentu.
- Pengontrol: mengarahkan perintah ke bagian model dan tampilan. Pengontrol merespons input pengguna dan melakukan interaksi dengan objek model data. Pengontrol menerima input, secara opsional memvalidasi input, dan kemudian meneruskan input ke model.

Sebagai contoh, daftar belanja kita dapat memiliki formulir input dan tombol yang memungkinkan kita untuk menambahkan atau menghapus item. Operasi ini perlu memperbarui model, jadi input dikirim ke pengontrol, kemudian pengontrol memanipulasi model sesuai kebutuhan, dan kemudian pengontrol mengirimkan data yang diperbarui ke tampilan.
Namun, Anda mungkin hanya ingin memperbarui tampilan untuk menampilkan data dalam format yang berbeda, misalnya, mengubah urutan item menjadi urutan alfabet, atau mengubah harga terendah menjadi harga tertinggi. Dalam hal ini, pengontrol dapat menangani masalah ini secara langsung tanpa memperbarui model.
Penerapan MVC dalam Pengembangan Perangkat Lunak
Kerangka kerja MVC telah banyak digunakan oleh banyak pengembang perangkat lunak serta kerangka kerja dan pustaka perangkat lunak lainnya. Secara tradisional digunakan untuk antarmuka pengguna grafis desktop (GUI), pola ini telah menjadi populer untuk merancang aplikasi Web.
Bahasa pemrograman populer memiliki kerangka kerja MVC untuk memfasilitasi implementasi pola, seperti JavaScript, Python, Ruby, PHP, Java, dan C# semuanya memiliki kerangka kerja MVC yang dapat digunakan langsung untuk pengembangan aplikasi web.
Bagaimana cara Mewakilinya Menggunakan Diagram Urutan UML?
Dalam diagram urutan MVC umum berikut, ditunjukkan bahwa objek tampilan bertanggung jawab atas input dan output pengguna, yaitu, kotak dialog adalah contoh yang baik dari tampilan. Objek pengontrol mengimplementasikan logika yang memungkinkan transaksi dieksekusi pada model. Objek model mengenkapsulasi logika bisnis dan data yang halus.

Contoh Diagram Urutan MVC: Fragmen Reservasi Hotel
Contoh diagram urutan ini menunjukkan bagaimana reservasi hotel dapat dilakukan. Diagram urutan ini menangkap perilaku dari satu skenario reservasi hotel dengan menunjukkan sejumlah objek contoh dan pesan yang diteruskan antara objek-objek ini seperti yang ditunjukkan dalam diagram di bawah:

Kerangka Kerja MVC Terkait
Beberapa pola desain lainnya didasarkan pada MVC, seperti MVVM (Model View Model), MVP (Model view Demonstrator), dan MVW (Model view)

- Model Proses Perangkat Lunak
- Apa itu Model Proses Perangkat Lunak?
- Perencanaan Adaptif vs Prediktif: Kapan Agile? Kapan Waterfall?
- Apa itu Siklus Hidup Pengembangan Perangkat Lunak?
Pengumpulan Kebutuhan
Pengembangan
Apa itu REST API?
Code First vs Design First dalam Pendekatan API
Panduan Praktis untuk Rekayasa Kode
Apa itu Arsitektur Berorientasi Layanan (SOA)?
– Kerangka Swagger vs API Blueprint dan Alat Otomatis
Pendekatan API-First dengan Kerangka Swagger
This post is also available in Deutsch, English, Español, فارسی, Français, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.