MVC cukup mudah.
Martin Fowler mungkin, akan, tidak setuju dengan ini :
Orang yang berbeda yang membaca tentang MVC di tempat berbeda mengambil ide yang berbeda darinya dan menggambarkannya sebagai 'MVC'.
Bergerak...
Saat kami membuat situs web, semuanya datang bersamaan karena 'klien mengirimkan permintaan kata kunci REST ke server -> server mencocokkan URL yang diminta dengan tindakan pengontrol -> yang kemudian memanggil model untuk pengumpulan / pemrosesan data, dapatkan hasilnya -> dan mengembalikan hasilnya kembali ke klien sebagai halaman HTML (tampilan) '.
OK, ini agak kusut
MVC, apa pun itu, adalah kumpulan ide untuk mengimplementasikan antarmuka pengguna.
REST adalah kumpulan kendala arsitektur untuk membangun aplikasi skala besar.
Web, yang Anda bicarakan di sini, adalah aplikasi manajemen dokumen raksasa yang dibangun menggunakan sebagian besar kendala yang sama.
Kesamaan yang Anda lihat di antara keduanya adalah (pilihlah) dikaitkan salah, atau dangkal.
RESTafarian memiliki pemahaman yang sama tentang HATEOAS , "hypertext sebagai mesin negara aplikasi", dan yang seharusnya mengirim alarm berbunyi melalui kepala Anda - mengapa pandangan menjadi mesin negara ? Jika kita mempertanyakan premis, dan mencari bukti tambahan, kita mungkin juga memperhatikan dua hal aneh.
Pertama, kita dapat mengambil server HTTP sepenuhnya dari persamaan dengan memuat HTML dari disk. Browser sangat puas dengan ini, memaafkan beberapa variasi kecil dalam perilaku yang mungkin timbul dari perubahan url dasar. Tampilan umumnya tidak terus berfungsi ketika mereka telah benar-benar terputus dari model dan pengontrol seperti itu.
Kedua, jika kita mengamati browser modern dengan cermat, kita akan melihat bahwa ada beberapa tampilan HTML. Beberapa tampilan tampilan sepertinya ide yang sangat aneh, tapi cukup pasti ada presentasi utama, dengan sekelompok markup teks yang menanggapi gerakan pengguna, dan kemudian ada hal ini "Tampilan Sumber" yang menunjukkan HTML mentah dan juga menanggapi gerakan pengguna. Ini kura-kura sepanjang jalan!
Jawaban atas teka-teki itu, tentu saja, adalah bahwa HTML bukan tampilan. Kumpulan widget di browser adalah tampilan, dan mereka berkomunikasi dengan Document Object Model , yang diinisialisasi dengan membaca HTML.
Dengan kata lain, HTML adalah representasi negara, seperti yang dijanjikan Roy T. Fielding .
Bagaimana jika kita berbicara tentang layanan web API RESTful murni ...? Sama seperti sebelumnya, tetapi tidak ada 'tampilan'
Lebih tepatnya, sama seperti sebelumnya: tidak ada tampilan. JSON, seperti halnya HTML, adalah representasi dari negara, cocok untuk melintasi batas proses.
Pikirkan "DTO" atau "Pesan" dan kesimpulan Anda akan jauh lebih kecil kemungkinannya untuk menyesatkan Anda.