diff --git a/README.md b/README.md index 3043f06d471f2933c5a98c71ad06b7d900d6812c..763de2dafc48fe2a85e60e6318357ff626bc5598 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,11 @@ This is the place for you to write reflections: ### Mandatory (Publisher) Reflections #### Reflection Publisher-1 +1. Dalam kasus BambangShop, penggunaan interface (atau trait dalam Rust) tetap penting jika kita ingin menjaga fleksibilitas dan memungkinkan berbagai jenis subscriber. Namun, jika hanya ada satu jenis subscriber dengan perilaku yang tidak akan berubah, satu struct model saja sudah cukup. + +2. Menggunakan DashMap lebih sesuai dibandingkan Vec karena kita membutuhkan id atau url yang unik. Dengan DashMap, pencarian dan pembaruan data lebih efisien dibandingkan dengan Vec, yang memerlukan iterasi untuk menemukan elemen tertentu. + +3. DashMap sudah memberikan thread safety dan efisiensi dalam operasi baca/tulis secara paralel. Meskipun Singleton bisa digunakan untuk mengelola daftar subscriber, kita tetap memerlukan mekanisme sinkronisasi agar aman di lingkungan multithread. Oleh karena itu, penggunaan DashMap tetap lebih praktis dibandingkan mengimplementasikan Singleton secara manual. #### Reflection Publisher-2