Mengenal Konsep Arsitektur MVC dalam Ruby On Rail

0

Teori MVC

MVC adalah pola untuk arsitektur software aplikasi. Ia memisahkan komponen aplikasi menjadi 3 bagian yaitu :

  • Model : Untuk menangani Data dan Logika
  • Controller : Sebagai pengatur User Interface dan Aplikasi
  • Views : menampilkan Object dan presentasi dari Graphic User Interface (GUI)

Proses kerja MVC itu sendiri antara lain :

  1. Browser (sisi pengguna) mengirim request page ke Controller pada server
  2. Controller menerima request tersebut dan meneruskannya ke Model untuk meminta datanya
  3. Controller menerima data dari Model dan melanjutkan data tersebut ke Views
  4. Views merender data dan menampilkan data tersebut ke browser pengguna.

Memisahkan 3 komponen software aplikasi dengan MVC merupakan ide yang sangat baik dan sangat populer dikalangan developer web karena beberapa alasan termasuk :

  • Meningkatkan Scalability (kemampuan aplikasi agar bisa berkembang)  : misalnya, apabila aplikasi kamu mulai mengalami masalah perfomance karena akses database yang lambat, kamu dapat mengupgrade hardware yang menjalankan database tanpa mempengaruhi komponen lain
  • Maintenance yang mudah : Karena setiap komponen memiliki tingkat depedency atau ketergantungan yang rendah satu sama lain, membuat perubahan pada salah satunya tidak akan mempengaruhi komponen yang lainnya.
  • Reusability : Sebuah Model bisa digunakan secara berulang-ulang pada Views yang berbeda.

Baca Juga :

MVC dalam Ruby On Rails

Rails mempromosikan konsep MVC dengan cara memisahkan File Code untuk Model, View, dan Controller secara terpisah dan meletakan ketiganya pada direktori yang berbeda.

Seperti yang kamu lihat, masing-masing komponen arsitektur model-view-controller memiliki tempatnya masing-masing di direktori yang berbeda.

Pemisahan ini berlanjut ke dalam kode yang terdiri dari framework itu sendiri. Kelas-kelas yang membentuk fungsionalitas inti Rails berada dalam modul-modul berikut :

  • ActiveRecord

ActiveRecord memainkan peran dalam MVC sebagai modul yang menghandle logika bisnis dan komunikasi database.

  • ActionController

ActionController adalah komponen yang mengatur Request dari browser dan memfasilitasi komunikasi antara Model dan View. Controller kamu merupakan turunan dari modul ini. ActionController merupakan salah satu Salah satu Library ActionPack. Dan ActionPack itu sendiri ialah sekumpulan komponen dalam Rails yang bisa kamu gunakan.

  • ActionViews

ActionView merupakan modul yang bertugas mempresentasikan suatu laman atau pages ke sisi user / client. MVC View juga merupakan turunan dari modul ini juga bagian dari library ActionPack.

Module ActiveRecord

ActiveRecord didesain dengan tujuan untuk mengatur segala  tugas (task) yang ada pada aplikasi dan berhubungan dengan database, meliput :

  • Memuat Koneksi ke Database
  • Mengambil data dari Table Database
  • Menyimpan data baru ke Database

ActiveRecord juga memiliki fitur ajaib lainnya seperti Database Abstraction dikirimkan bersama adaptor database untuk terhubung ke SQLite, MySQL, dan PostgreSQL. Sejumlah besar adaptor tersedia untuk paket server database populer lainnya, seperti Oracle, MongoDB, dan Microsoft SQL Server, melalui RubyGems.

Baca Juga : Fetching Data Application Programming Interface (API) pada React JS

ActionPack Library

ActionPack adalah nama library dalam Ruby on Rails yang berisi Views dan bagian Controller arsitektur MVC. Berbeda dengan modul ActiveRecord, modul-modul dinamankan ActionController dan ActionView.

ActionController

Controller menangani logika aplikasi pada program kamu, bertindak sebagai lem antara data aplikasi, lapisan presentasi, dan browser web. Dalam peran ini, Controller melakukan sejumlah tugas seperti :

  • Menentukan cara menghandle Request (misalnya menampilkan seluruh Page atau sebagian saja)
  • Menerima data dari Model dan meneruskannya ke View
  • Mengumpulkan Informasi melalui Request Browser dan menggunakan hal tersebut untuk membuat atau mengupdate data di dalam Model

Baca Juga : Cara Membuat ToDo List Dengan React Hooks!

ActionViews

Seperti yang dibahas sebelumnya, salah satu prinsip MVC adalah Views harus mengandung logika presentasi saja. Prinsip ini menyatakan bahwa kode dalam tampilan hanya boleh melakukan tindakan yang berhubungan dengan menampilkan halaman dalam aplikasi.

Tidak boleh ada kode dalam tampilan yang dapat melakukan logika aplikasi yang rumit, atau menyimpan atau mengambil data apa pun dari database. Di Rails, semua yang dikirim ke browser web ditangani oleh Views.

Bisa kamu tebak, Views disimpan dalam folder app / Views aplikasi kita.

Sebuah tampilan tidak perlu mengandung kode Ruby sama sekali. Ini mungkin salah satu dari pandangan kamu adalah file HTML sederhana. Namun, kemungkinan besar View kamu akan berisi kombinasi kode HTML dan Ruby, menjadikan halaman website terlihat lebih dinamis. Kode Ruby di Embed dengan HTML menggunakan Syntax Ruby (Erb).

Berikutnya Baca : Cara membuat Login Form

Sumber : sitepoint.com

Share.

About Author

Techfor Id

Leave A Reply