İşlevsel programlama dilleri için Etki Alanına Dayalı Tasarım'a eşdeğer


10

Etki alanı odaklı tasarım fikrini gerçekten çok seviyorum, ancak Go öğrenirken, DDD'nin etkili bir şekilde daha işlevsel bir dili hedefleyen eşdeğeri olup olmadığını merak ediyorum?

Yanıtlar:


12

Eşdeğeri yok. DDD, evrimsel bir yazılım geliştirme senaryosunda sık sık yeniden yazmayı desteklemek için bir paradigmaya ihtiyaç duyuyordu. OOP o zamana kadar uygulanabilir tek strateji gibi görünüyordu. Ancak İşlevsel diller de böyle bir senaryoya hizmet edebilir.

Greg Young'un DDD ve Fonksiyonel Programlama hakkındaki videosuna ve Patrik Fredriksson'un DDD'yi Clojure gibi fonksiyonel bir dille uygulama hakkındaki videosuna göz atmak isteyebilirsiniz.


3

DDD'nin OOP tasarımının kendisi değil, tüm geliştirme sürecine nasıl yaklaştığınızla ilgili olduğuna inanıyorum. Yinelemeli gelişim, yaygın dil, iş uzmanları ve geliştiricilerin yakın işbirliği, dil ve paradigma agnostiktir.

DDD'deki nesnelerin tasarımı yeni bir şey değildir. DDD'de açıklanan örüntüler, DDD dünyanın ışığı görmeden çok önce vardı. Agrega kökleri, strateji örüntüsü, değer nesneleri sadece iş mantığını tanımlamak için çok uygundur. Yani sorunuz daha çok "İş mantığını nasıl ifade eder ve işlevsel dilde durumu devam eder" şeklinde olmalıdır. Muhtemelen fonksiyonel programlama dilleri için tasarım kalıpları arıyorsunuz.


Açıkladığınız şey DDD'nin ilk bölümüdür, ancak ikinci bölüm alan adı modellerinin gerçek yapısıdır. İkinci bölüm, ilgilendiğim bölümdür. İşlevsel bir dilde (arabirimleri de olsa) bir etki alanını nasıl modelleyeceğimi tam olarak bilmiyorum.
Matty
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.