Naprawdę podoba mi się pomysł projektowania opartego na domenach, ale ucząc się Go, zastanawiam się, czy istnieje odpowiednik DDD, który jest przeznaczony dla bardziej funkcjonalnego języka?
Naprawdę podoba mi się pomysł projektowania opartego na domenach, ale ucząc się Go, zastanawiam się, czy istnieje odpowiednik DDD, który jest przeznaczony dla bardziej funkcjonalnego języka?
Nie ma odpowiednika. DDD potrzebował paradygmatu do obsługi częstego przepisywania w ewolucyjnym scenariuszu tworzenia oprogramowania. OOP wyglądało wtedy na jedyną realną strategię. Ale języki funkcjonalne również mogą służyć w takim scenariuszu.
Możesz zajrzeć do filmu Grega Younga o DDD i programowaniu funkcjonalnym oraz wideo Patrika Fredrikssona o implementacji DDD z funkcjonalnym językiem, takim jak Clojure
Wierzę, że DDD nie dotyczy samego projektu OOP, ale bardziej tego, jak podchodzisz do całego procesu rozwoju. Iteracyjny rozwój, wszechobecny język, ścisła współpraca ekspertów biznesowych i deweloperów są obojętne na język i paradygmat.
Projektowanie obiektów w DDD nie jest niczym nowym. Wzory opisane w DDD istniały na długo zanim DDD ujrzało światło świata. Zagregowane korzenie, wzorzec strategii, obiekty wartości nadawały się tylko do opisu logiki biznesowej. Twoje pytanie powinno więc przypominać: „Jak wyrazić logikę biznesową i upierać się przy jej funkcjonalnym języku”. Prawdopodobnie szukasz wzorców projektowych dla funkcjonalnych języków programowania.