Setara dengan Desain Berbasis Domain untuk bahasa pemrograman fungsional

10

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?

Matty
sumber

Jawaban:

12

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

ZioBrando
sumber
3

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.

Euforia
sumber
Apa yang telah Anda jelaskan adalah bagian pertama dari DDD, tetapi bagian kedua adalah pembuatan model domain yang sebenarnya. Bagian kedua adalah yang saya tertarik. Saya tidak yakin bagaimana saya akan memodelkan domain dalam bahasa fungsional (meskipun yang memiliki antarmuka).
Matty