Member-only story

Domain Driven Design, Git and Crypto

Reflections similarities and differences in thinking behind Domain Driven Design (DDD), version control systems like Git and crypto currency systems.

Erik Engheim
8 min readMar 3, 2021

Recently I have been doing a course on Domain Driven Design (DDD). This made me make some reflections on how DDD related to other technologies that I know.

DDD is not like say object-oriented design or functional programming. Rather it is more about a way of dealing with data which needs to be made persistent. It is a natural companion to object-oriented programming, but exist at a higher level.

From Apple’s Core Data, used to manage a network of objects which can be made persistent and loaded upon demand.

DDD Compared to Apple’s Core Data

I would say that Apple technologies like Core Data seems to be an implementation of a lot of the ideas in Domain Driven Design. Core Data is a way for you to make object-graphs which can be stored and loaded from disk.

What are the advantages of this? Well when you work with really large systems, you cannot simply load the whole data model into memory. Think of how disk swapping works. Only the part of your code currently…

--

--

Erik Engheim
Erik Engheim

Written by Erik Engheim

Geek dad, living in Oslo, Norway with passion for UX, Julia programming, science, teaching, reading and writing.

No responses yet