Halo Bakat Digital! Selamat datang kembali di blog Digimensia. Gimana kabarnya hari ini? Semoga Tetap semangat buat belajar ya!
Ketika mengerjakan project aplikasi, Bukan jarang kita akan menemui masa di mana kita akan sedikit kebingungan Buat menentukan struktur folder Buat project kita. Apalagi kita mengerjakan semuanya dari Nihil (tanpa framework) atau menggunakan framework yang sangat menyediakan kebebasan seperti Express JS. Tentu hal ini akan Membikin kita merasa bingung Buat menentukan struktur foldernya, khususnya bagi kita yang baru belajar pemrogramman.
Struktur Folder Project
Project aplikasi yang kita kerjakan pastinya Bukan hanya terdiri dari satu buah file saja tetapi juga Pandai puluhan hingga ratusan lebih file yang Mempunyai fungsinya masing-masing. Menentukan struktur folder sangat Krusial dalam mengerjakan project aplikasi. Kalau kita salah, maka akan berujung menghabiskan waktu Buat memindah-mindah file Buat meletakkannya di folder yang Akurat, apalagi kalau kita harus merubah import path atau namespace di dalam kode kita. Terdapat beberapa struktur folder yang Pandai kita ikuti Buat merapikan project kita. Di postingan ini kita akan bahas dua struktur folder Yakni Folder per Domain dan Folder per Layer.
Folder per Domain
Sebuah aplikasi biasanya Pandai terdiri dari beberapa domain. Domain yang dimaksud bukanlah domain name seperti example.com atau example.org ya. Domain disini mengacu pada area subjek di mana bagian dari aplikasi tersebut diterapkan. Secara sederhana domain ini Standar disebut sebagai fitur. Contohnya pada sebuah aplikasi e-commerce terdapat fitur pemesanan, keranjang belanja, pengirimkan, pembayaran, dan lain-lain. Begitu menggunakan struktur folder per domain, maka file-file project akan dipisahkan berdasarkan domain-domain tersebut. Contohnya sebagai berikut:
Di dalam domain folder tersebut akan disimpan layer-layer file seperti controller, service, middleware, dan lain-lain.
Struktur folder per domain jarang digunakan. Struktur folder ini biasanya digunakan pada proyek yang sangat besar dan monolith (Segala fungsional dalam satu aplikasi). Misalnya framework yang menggunakan struktur folder seperti ini adalah Django.
Folder per Layer
Kalau pada struktur folder per domain, tiap-tiap domain Mempunyai folder masing-masing dan kemudian layer aplikasi berada di dalamnya. Sedangkan Kalau menggunakan struktur folder per layer, maka layer-layer tersebut lah yang akan menjadi folder di project kita. Sehingga, layer Buat tiap domain aplikasi berada di tempat yang terpisah-pisah. Berikut ini adalah Misalnya struktur folder per layer:
Struktur folder per layer adalah struktur folder yang lumayan banyak digunakan. Misalnya framework yang menggunakan struktur folder seperti ini adalah Laravel beberapa framework MVC lain seperti CodeIgniter.
Struktur folder seperi ini sangat mudah dan nyaman digunakan pada project yang sederhana. Kalau project sudah terlalu besar dan Mempunyai banyak file, mungkin Anda akan sedikit kesulitan Buat berpindah-pindah antar layer aplikasi Begitu mengerjakan project.
Menentukan Struktur Folder yang Akurat
Buat menentukan struktur folder yang Akurat sebenarnya banyak Unsur yang mempengaruhinya. Berikut ini beberapa tips yang Pandai Anda terapkan ketika menentukan struktur folder Buat project yang Anda kerjakan.
- Kalau menggunakan framework dan framework tersebut sudah Mempunyai struktur folder bawaannya, maka akan lebih mudah Kalau Anda mengikuti struktur folder tersebut.
- Pertimbangkan seberapa kompleks project yang Anda kerjakan. Struktur folder Buat project aplikasi webhook yang hanya menangani satu buah event tentu berbeda dengan project aplikasi REST API.
- Gunakan folder per domain Buat aplikasi monolith yang kompleks. Gunakan folder per layer Buat aplikasi microservice.
- Ikuti best practice berdasarkan software design architecture.