You probably can't imagine that Monoids (not monads) are so simple maths creatures that you can understand them in just a few minutes.
You probably can't imagine that Monoids (not monads) are so simple maths creatures that you can understand them in just a few minutes.
But you probably don't imagine either that they can help you craft elegant and powerful domain models that scale very well.
Through various examples, we will have a closer look at monoids used for domain modeling in a style that mixes the best of DDD and FP. Even in languages like Java or C#, this talk will influence your coding style forever!
'More entertaining and educational explanation of Monoids I've heard' - Martin Thompson, DDD exchange London 2014.
See more at http://skillsmatter.com/conferences/1880-ddd-exchange-nyc-2014#program
13. WARNING
The following show features
no spectacular stunt, no live
coding, only trivial Java code.
You can re-create or re-enact
at home with no danger.
103. Default Desk-specific
Color BLUE
Enable True
Timeout 30 +
=
Color RED
Enable False
Timeout 25
Desk FX
Color RED
Enable True
Timeout 25
Desk FX
104. Default Desk-specific
Color BLUE
Enable True
Timeout 30 +
=
Color RED
Enable False
Timeout 25
Desk FX
Color RED
Enable True
Timeout 25
Desk FX
overwrite
logical OR
min
105. Default Desk-specific
Color BLUE
Enable True
Timeout 30 +
Values are monoids too!
=
Color RED
Enable False
Timeout 25
Desk FX
Color RED
Enable True
Timeout 25
Desk FX
overwrite
logical OR
min
106. Color BLUE
Enable True
Timeout 30 +
Neutral Element
=
Color NONE
Enable False
Timeout +∞
Desk ALL
Color BLUE
Enable True
Timeout 30
107. Color BLUE
Enable True
Timeout 30 +
Neutral Element
=
Color BLUE
Enable True
Timeout 30
108. Color BLUE
Enable True
Timeout 30 +
Value Objects may be
*BIG* object trees!
(DOM)
=
Color BLUE
Enable True
Timeout 30