Odpowiednik projektowania opartego na domenach dla funkcjonalnych języków programowania

10

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?

Matty
źródło

Odpowiedzi:

12

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

ZioBrando
źródło
3

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.

Euforyk
źródło
To, co opisałeś, to pierwsza część DDD, ale druga część to rzeczywista konstrukcja modeli domen. Druga część to ta, która mnie interesuje. Nie jestem do końca pewien, jak modelowałbym domenę w języku funkcjonalnym (choć takim, który ma interfejsy).
Matty