Explore a comprehensive Scala Days conference talk that delves into the challenges of maintaining type-safety and reification in CQRS applications. Learn how to model domains as Algebraic Data Types (ADTs) while representing operations as Commands and Events. Discover various approaches to creating a cohesive, well-typed domain, including type parameters, type projection, and path-dependent types. Examine the pros and cons of each solution, and gain insights into implementing these concepts using frameworks like Akka. The talk covers topics such as behavior modeling, DSL creation, type actions, implicit scopes, and in-memory backends, providing a thorough exploration of advanced Scala techniques for building robust CQRS systems.
Overview
Syllabus
Introduction
The problem
Secure as framework
Reification
Behavior
Commands Behavior
DSL
Type Parameters
Type projections
Type rejection
Type actions
Type objects
Pathdependent types
Implicit scope
Akka
InMemory Backend
Wrapup
Command and events
Taught by
Scala Days Conferences