Model-View-Controller (MVC) adalah pola arsitektur software yang memisahkan aplikasi menjadi tiga komponen utama: Model, View, dan Controller. NexaUI mengimplementasikan pola MVC dengan beberapa peningkatan modern untuk memaksimalkan maintainability dan testability kode.
Model dalam NexaUI merepresentasikan data dan logika bisnis aplikasi. NexaUI memperluas konsep Model tradisional dengan menggabungkan Repository Pattern dan Domain-Driven Design:
Contoh struktur Model:
models/
├── Domain/
│ ├── NexaAuthEntity.php
│ └── NexaUserEntity.php
├── Repositories/
│ ├── NexaAuthRepository.php
│ ├── NexaProductRepository.php
│ └── NexaUserRepository.php
└── Role/
├── Control.php
├── Package.php
└── Select.php
View dalam NexaUI bertanggung jawab untuk menampilkan data kepada pengguna. NexaUI menggunakan template engine yang powerful dengan fitur:
Contoh struktur View:
templates/
├── 404.html
├── dashboard/
├── index.html
├── mobile/
├── tablet/
└── theme/
Controller dalam NexaUI menangani request dari pengguna, berinteraksi dengan Model, dan memilih View yang tepat untuk ditampilkan. Fitur controller di NexaUI:
Contoh struktur Controller:
controllers/
├── Admin/
│ ├── AccessController.php
│ └── AccountController.php
├── AdminController.php
├── Api/
├── ApiController.php
├── Frontend/
│ ├── AboutController.php
│ └── BlogController.php
└── FrontendController.php