Ini hanyalah pertanyaan arsitektur, yang tidak dapat saya temukan jawabannya di mana pun.

Skenario saat ini adalah - Ada server yang menerima permintaan GET pada satu titik akhir. Setiap badan permintaan akan memiliki struktur yang sama: requestType (string) dan payload (json). requestType dipetakan dengan switch case di backend untuk pada dasarnya hanya meniru beberapa titik akhir.

Sekarang, saat membuat aplikasi Angular/NgRx yang bergantung pada backend ini, bagaimana saya harus mengelola layanan? Ada sekitar 40 jenis permintaan, haruskah saya membuat 40 layanan? Haruskah saya membuat satu layanan yang menggunakan httpClient untuk mencapai titik akhir tunggal itu dan kemudian menggunakan banyak efek untuk mendengarkan tindakan dan kemudian membuat muatan yang tepat dan menggunakan layanan?

Pendekatan mana yang lebih mudah untuk diuji?

1
Arvind 2 Juni 2020, 14:07

1 menjawab

Jawaban Terbaik

Tergantung pada apa yang dikembalikan oleh backend.

Jika mengembalikan jenis data yang sama dengan tanda yang berbeda, Anda dapat menggunakan satu fitur penyimpanan dengan satu tindakan dan satu efek, tindakan tersebut harus memiliki properti type.

Jika mengembalikan jenis data yang berbeda, misalnya Pengguna / Perusahaan dll, sayangnya, Anda harus membuat 40 fitur toko, menulis tindakan dan efek untuk mereka. Untuk mengurangi proses boilerplate, Anda dapat mencoba menggunakan ngrx/data, saya tidak dapat menyebutnya lib yang sangat bagus, tetapi dalam hal ini Anda dapat menentukan 40 jenis dan sisanya akan dilakukan secara otomatis.

Jika tidak, coba buat fungsi dan kelas pabrik.

1
satanTime 2 Juni 2020, 14:23