¿Cómo es?
Se trata que desde elementos simples, combinándolos, se vayan obteniendo cosas más complejas, las que a su vez pueden seguir combinándose para obtener cosas aún más complejas o distintas. Para ello, a nivel de Type (programación funcional). existen los siguientes elementos o building blocks:
- Tipos simples: Se tratan de aliases o wrappers de los tipos primitivos. Esto permite dar nombres más significativos facilitando el entendimiento para reproducir la complejidad del dominio de negocios
- Tipos AND (records): se tratan de la combinación de dos o más tipos simples u otros tipos AND o OR en una estructura tipo record
- Tipos OR (Choices): Se trata un tipo que tiene varias posibilidades de elección. Similar a un enum o valores que implementan una interfaz. El uso de estos tipos está asociado al Pattern Matching
Al combinar y crear estos tipos se crea una documentación ejecutable del dominio.
Dado que los types también representan funciones, las acciones también podemos modelarlas del mismo modo