Maciej Rumianowski's Weblog 

Domain Driven Desing eXchange

by Maciej Rumianowski

Posted on Wednesday Jul 15, 2015 at 11:32PM in General

This year DDD eXchange happened on Friday 12th June with speakers such as Eric Evans, Alberto Brandolini, Konstantin Kudryashov, Cyrille Martraire and Scott Wlaschin.

Details of the talks can be found on Skills Matter

I enjoyed very much following talks:

  • When DDD meets Documentation by Cyrille Martraire

    Cyrille's presentation was in a funny format with lots of gifs and rhetorical questions. He explained how to create an up to date documentation straight from the code and tests. One of the practices is annotating Classes and packages with keywords from DDD, which makes creating a glossary of the key concepts of a Domain very easy. Packages can be annotated with a @BoundedContext annotation and Classes with @ValueObject, @CoreConcept or @Aggregate annotations. Of course BDD scenarios where also covered ;). Cyrille gave a couple of tips how to make scenarios more accessible to all team members as a testing, documentation and design tool. Finally he is writing a book "Living Documentation" that covers all aspects of Documentation and beyond. The book can be found at Leanpub Living Documentation by Cyrille Martraire

  • Modelling by example by Konstantin Kudryashov

    Konstantin Kudryashov explained how Behaviour-Driven Development can be used to model and implement a system. He reminded that the real purpose of BDD is a discussion about domain so that all team members can understand it and know what has to be implemented. Farther more with DDD and BDD the misunderstanding between stakeholders, developers and machines caused by different languages can be reduced to zero. All team members and even the machine (software implementation) can speak the same language thanks to BDD scenarios and DDD strategic and tactical modelling.

    Konstantin Kudryashov also described an approach to BDD cycle in which Developer:

    • First starts with abstraction layer - Application Services and Domain objects,
    • Second implements interaction layer - infrastructure services and UI.
    Oh boy! I should have used it in my BDD experimental project, rather than starting from UI and ending with Domain objects.

  • Domain Driven Design with the F# type system by Scott Wlaschin

    Scott Wlaschin showed a very interesting functional language - F#. However, the presentation was mostly about F#'s type system, which is very expressive and concise. With two fundamental mathematical operations OR and AND it is very easy to create as many Types as a Business Domain requires. Paraphrasing Scott Wlaschin "Business people can understand the code better than developers".

No one has commented yet.

Leave a Comment

HTML Syntax: NOT allowed