SkillsCast

Combining BDD and DDD with functional Scala: How BADD can it get?

11th September 2018 in London at CodeNode

This SkillsCast was filmed at London Scala September

“Functional and Reactive Domain Modeling” by D. Ghosh combines classic object-oriented DDD with functional programming in Scala. Although powerful, the book’s methodology leaves key questions unanswered, such as “How to choose a particular model among alternatives? How to split a model into parts? How to decide upon the modelling granularity?”

This talk attempts to solve these questions by combining the DDD methodology with Behaviour-Driven Development. First, the example domain — the design of pharmaceutical experiments — is introduced. Next, key concepts of BDD are adapted to functional programming, and a visual BDD-style model is developed for the domain. This model is then used to drive functional domain-driven design. Finally, we discuss the costs and benefits of the combined BDD/DDD approach for software development in complex domains.

YOU MAY ALSO LIKE:

Thanks to our sponsors

Combining BDD and DDD with functional Scala: How BADD can it get?

Oleg Volkov

Oleg Volkov gained a PhD in mathematics from QMUL. He founded a startup, XITIFIC, aiming to improve pharmaceutical R&D. He developed mathematical software for over a decade, and for the last two years has been working in Scala. His particular interest is in applying domain-driven design and functional reactive programming to develop interactive scientific applications.

SkillsCast

“Functional and Reactive Domain Modeling” by D. Ghosh combines classic object-oriented DDD with functional programming in Scala. Although powerful, the book’s methodology leaves key questions unanswered, such as “How to choose a particular model among alternatives? How to split a model into parts? How to decide upon the modelling granularity?”

This talk attempts to solve these questions by combining the DDD methodology with Behaviour-Driven Development. First, the example domain — the design of pharmaceutical experiments — is introduced. Next, key concepts of BDD are adapted to functional programming, and a visual BDD-style model is developed for the domain. This model is then used to drive functional domain-driven design. Finally, we discuss the costs and benefits of the combined BDD/DDD approach for software development in complex domains.

YOU MAY ALSO LIKE:

Thanks to our sponsors

About the Speaker

Combining BDD and DDD with functional Scala: How BADD can it get?

Oleg Volkov

Oleg Volkov gained a PhD in mathematics from QMUL. He founded a startup, XITIFIC, aiming to improve pharmaceutical R&D. He developed mathematical software for over a decade, and for the last two years has been working in Scala. His particular interest is in applying domain-driven design and functional reactive programming to develop interactive scientific applications.