Saya benar-benar menyukai ide desain yang digerakkan oleh domain, namun, ketika saya sedang belajar Go, saya bertanya-tanya apakah ada yang setara dengan DDD yang ditujukan pada bahasa yang secara fungsional lebih efektif?
Saya benar-benar menyukai ide desain yang digerakkan oleh domain, namun, ketika saya sedang belajar Go, saya bertanya-tanya apakah ada yang setara dengan DDD yang ditujukan pada bahasa yang secara fungsional lebih efektif?
Tidak ada yang setara. DDD membutuhkan paradigma untuk mendukung penulisan ulang yang sering dalam skenario pengembangan perangkat lunak evolusioner. OOP tampak seperti satu-satunya strategi yang bisa dilakukan saat itu. Tetapi bahasa fungsional dapat melayani skenario seperti itu juga.
Anda mungkin ingin melihat video Greg Young tentang DDD dan Pemrograman Fungsional dan video Patrik Fredriksson tentang penerapan DDD dengan bahasa fungsional seperti Clojure
Saya percaya DDD bukan tentang desain OOP itu sendiri, tetapi lebih tentang bagaimana Anda mendekati keseluruhan proses pengembangan. Pengembangan berulang, bahasa di mana-mana, kerja sama yang erat antara para pakar bisnis dan pengembang semuanya bahasa dan paradigma agnostik.
Desain objek dalam DDD bukanlah sesuatu yang baru. Pola-pola yang dijelaskan dalam DDD ada jauh sebelum DDD melihat dunia. Akar agregat, pola strategi, objek nilai hanya cocok untuk menggambarkan logika bisnis. Jadi pertanyaan Anda harus lebih seperti "Bagaimana mengekspresikan logika bisnis dan mempertahankannya dalam bahasa fungsional". Anda mungkin mencari dalam pola desain untuk bahasa pemrograman fungsional.