HMVC adalah sebuah evolusi dari MVC, yang mana sering digunakan
ketika mendevelop sebuah aplikasi berbasis web. Methode ini muncul
sebagai solusi atas masalah dalam aplikasi yang menggunakan MVC. Solusi
ini pertamanya ditulis di situs web JavaWorld, yang mana menyatakan
bahwa Model, View, Controller dibuat menjadi berlapis-lapis sehingga
menjadi sebuah Hierarki. Seperti digambarkan dalam gambar dibawah ini.
Sebuah
layer / tingkatan berfungsi secara independent. Akan tetapi pada
masing-masing layer tersebut bisa mengakses layer yang lain melalui
controller mereka. Kedua hal tersebut dapat mengijinkan sebuah aplikasi
untuk mendistribusikan ke beberapa lokasi jika diperlukan. Selain itu,
metode layer MVC seperti ini memungkinkan untuk dapar mengembangkan
aplikasi semakin dalam. Hal ini dapat menjadi sebuah keunggulan.
Mengapa menggunakan HMVC?
Beberapa point keunggulan menerapkan pola HMVC dalam siklus pengembangan aplikasi :
Modularisasi : Pengurangan ketergantungan antara bagian-bagian yang berbeda dari aplikasi.
Organisasi : Memiliki folder untuk masing-masing layer yang relevan menjadikan beban kerja semakin ringan.
Reusability : Secara alami dari desain adalah mudah untuk menggunakan kembali pada setiap bagian dari kode.
Extendibility : Membuat aplikasi lebih extensible tanpa mengorbankan kemudahan pemeliharaan.
Contoh:
Saya memiliki folder modules folder ini nantinya akan saya gunakan
sebagai tempat menaruh modul-modul saya. Oke, sekarang anggaplah saya
ingin membuat modul produk, maka saya buat folder produk di dalam folder
modules maka struktur foldernya menjadi modules/produk, di dalam folder
produk ini akan kita buat folder untuk masing-masing file MVC, dengan
kata lain kita akan membuat folder bernama model, view control .
Jika digambarkan, maka struktur hirarki nya akan menjadi sebagai berikut:
-modules/
….|
…+—-produk/
…….|
……+—-model/
……+—-view/
……+—-control/
File-file
model akan diletakkan dalam folder model, begitu juga file view dan
file control (controller) akan diletakkan ditempatnya masing-masing
sesuai nama foldernya.
No comments:
Post a Comment