Debasish Ghosh

Debasish Ghosh

Functional and Algebraic Domain Modeling

@debasishg · India


 

Programmer, father, husband, avid reader, author, occasional speaker at technology conferences and Seinfeld fanboy. Senior member of ACM and loves spending time with his beautiful family. Passionate about technology and open source, loves functional programming, and has been trying to learn math and machine learning. Authored 2 books - (a) DSLs In Action published by Manning in December 2010 and (b) Functional & Reactive Domain Modeling (upcoming summer 2016 from Manning). Tweets at @debasishg, blogs at Ruminations of a Programmer.



Talk

Functional and Algebraic Domain Modeling

Domain modeling is usually implemented using OO design. In this approach of "nouns-first" we design object hierarchies using subtyping to model the various elements of the domain. In this talk we will take a different approach using Scala:

  • Start with focus on verbs first
  • Think how we can model domain behaviors using pure functions grouped within extensible modules
  • Use an algebraic approach towards evolution of modules,the algebra being composed of functions, types & laws
  • See how the domain algebra can be constructed from categorical structures like monoids, functors & monads
  • Discuss how the functional patterns lead to compositionality - an extremely important quality that scales your domain model.

Mel Conway

Inventor, Educator, Author of “Conway's Law”

Eric Evans

Author of “Domain-Driven Design”

Rebecca Wirfs-Brock

Responsibility-Driven Design

Udi Dahan

Founder of NServiceBus

Prof. David West

Author of “Object Thinking”

Weronika Łabaj

Challenger

Jimmy Nilsson

Author of “Applying DDD & Patterns”

Debasish Ghosh

Functional and Algebraic Domain Modeling

Nick Tune

Co-author of “Patterns, Principles and Practices of DDD”

Greg Young

Creator of CQRS

Alberto Brandolini

Inventor of “EventStorming”

Felienne Hermans

Author of "Grokking Computational Logic"

Marijn Huizendveld

Nerd in a suit

Michel Grootjans

Projectionist

Stijn Volders

Entrepreneur

Edwin van Wijk

Software Architect

Vaughn Vernon

Author, consultant, trainer

Nicole Rauch

Software Developer and Development Coach

Thomas Ploch

Infinite State Machine

Robert Smallshire

Modeller of domains, systems and processes

Cyrille Martraire

Deliberate Designer

Arnaud Bailly

Event Sourcing, Functionally

Paul Rayner

Leading DDD and BDD practitioner

Ken Power

Complexity Navigator

Oana Juncu

Agile Business DJ

Avraham Poupko

Technical leader

Romeu Moura

Reasoned Schemer

Jérémie Chassaing

Software Gardener

Mathias Verraes

Student of Systems

Yves Reynhout

The Journeylist

Scott Wlaschin

Creator of fsharpforfunandprofit.com

Allard Buijze

Pragmatic modeller, creator of AxonFramework

Yves Lorphelin

Loves Chaos & Failures

Andra Sonea

Solutions Architect, Financial Services

Thomas Coopman

Projectionist


Receive Important Updates

Sponsors

Contact us at contact@dddeurope.com for sponsor opportunities.