Clean architecture

  • Terdiri dari 3 layer: presentation layer, domain layer, dan data layer.

  • Presentation layer meliputi : routing, payload request dan payload response.

  • Domain layer meliputi : use case yang berisi interaction dan logic

  • Data layer meliputi : entity / model

  • Untuk mengadopsi clean architecture, dibuat struktur direktori aplikasi sebagai berikut :

  • Implementasi tidak harus kaku. Tidak semua endpoint harus ada use case. Pattern use case digunakan jika mengandung banyak logic, atau melibatkan banyak model. Jika endpoint sederhana dengan hanya 1 model, tidak perlu membuat use case.

  • Dalam contoh list user, karena masih sederhana, kita tidak akan menggunakan use case.

  • Kita akan memecah kode di file main.go menjadi 5 file yaitu :

  • Berikut isi dari file libraries/database/database.go

  • Berikut isi dari file cmd/main.go

  • Berikut isi dari file models/user.go

  • Berikut adalah isi dari file payloads/response/user_response.go

  • Berikut isi file controllers/users.go

  • Dan isi dari file main.go adalah :

Last updated

Was this helpful?