Archive for June, 2016

Single Value Objects as C# structs

Wednesday, June 8th, 2016

Domain-Driven Design bottom-up – a talk

Some time ago, I decided that would like to be come a speaker at tech events. Speaking about software development is besides coding itself just so fun to do! The talks/presentations a gave for colleagues in the past where always nice, and it was about time to speak somewhere out in the wild. When a friend of mine told me that Searchlite was organizing small events and searching for speakers I did not hesitate, and applied.

The talk was about designing structs to represent Single Value Objects, the most elementary building blocks of your Entities and Value Objects within Domain-driven Design. The idea behind it, is that it results to cleaner code, that is easier to read, maintain and validate, than when you use only the default primitives of your language of choice (in this case C#).

Pitching Qowaiv

It was also the first time that I pitched Qowaiv, an open source .NET library (and NuGet package) that contains some of these Single Value Objects. The (closed source)  predecessor is used by my previous company, and Qowaiv is used within Exact Online, the on-line platform of my current company. But I think that it deserves a wider usage than that, so I gave it a try.

Looking back (and forward)

Overall I think it was an okay talk. The feedback from the audience was positive. Apparently, I was able to to bring the enthusiasm I have for software development in general and this topic in particularity, across. I’m really looking forward to BuildStuff Kiev, where I will be a speaker!

Download

Too bad, there is no live recording of the talk, but you can download the PowerPoint here:
corniel.nl/../2016-06-08_Single_Value_Objects_as_CSharp_structs.odp