Domain Modeling Made Functional

Scott Wlaschin

Language: English

Published: Jan 30, 2018

Annotations:
Domain Modeling Made FunctionalTue 09 Oct 2018 01:01:19 PM

In DDD terminology this is called persistence ignorance. It is an important principle because it forces you to focus on modeling the domain accurately, without worrying about the representation of the data in a database.

Domain Modeling Made FunctionalTue 09 Oct 2018 01:01:51 PM

Letting classes drive the design can be just as dangerous as letting a database drive the design—again, you’re not really listening to the requirements.

Domain Modeling Made FunctionalTue 09 Oct 2018 02:03:58 PM

. It’s tricky to create a truly decoupled microservice architecture: if you switch one of the microservices off and anything else breaks, you don’t really have a microservice architecture, you just have a distributed monolith!

Domain Modeling Made FunctionalWed 10 Oct 2018 12:40:13 AM
Domain Modeling Made FunctionalThu 11 Oct 2018 12:27:08 PM

Applicatives are similar to monads; but rather than chaining monadic functions in series, an applicative allows you to combine monadic values in parallel.

Domain Modeling Made FunctionalWed 17 Oct 2018 12:43:43 PM

Bounded contexts must own their own data store.

Domain Modeling Made FunctionalThu 18 Oct 2018 01:15:34 AM

queries and commands tend to evolve independently and therefore shouldn’t be coupled

Domain Modeling Made FunctionalThu 18 Oct 2018 01:18:25 AM

In particular, you can have a read store that contains aggregated data from many bounded contexts, which is very useful for doing reports or analytics

Domain Modeling Made FunctionalThu 18 Oct 2018 09:06:54 PM

One thing we should not do is model the output of a business rule in the domain

Domain Modeling Made FunctionalThu 18 Oct 2018 10:58:11 PM

It can subscribe to events from the other contexts and update the state accordingly. Any queries about the status would then go directly to this context.

Description: