LOADING

Flexible Modeling: Keeping Your Domain Pure with Scala 3

In this talk, we will refactor a real-world service using Extensions, Union Types, and Context Functions, demonstrating how to achieve a strictly typed, decoupled architecture that remains easy to read and evolve.

Magda Stożek
Staff Software Engineer, SoftwareMill
About This Talk

A clean Domain Model is hard to maintain. Over time, our core entities often become overloaded, accumulating serialization logic, infrastructure constraints, and framework-specific annotations. We want a Rich Domain Model, but we often settle for scattered logic or an explosion of DTOs to keep things working.

Scala 3 offers a powerful alternative. By leveraging its modern toolset, we can define behaviors and data shapes exactly where they are needed—without modifying the core entities. In this talk, we will refactor a real-world service using Extensions, Union Types, and Context Functions, demonstrating how to achieve a strictly typed, decoupled architecture that remains easy to read and evolve.

more great talks

Might Be Interesting

Day 1
  —  
11:15 am
arrow pointing right icon

Cyfra: Scala on GPU

Learn how to accelerate Scala code by orders of magnitude with Cyfra.

Day 2
  —  
2:35 pm
arrow pointing right icon

Scala and TypeScript Synergy: Developing a real-time collaborative text editor

In this presentation, I will demonstrate how we leveraged the strengths of Scala and TypeScript to develop a collaborative text editor that meets the strictest standards for security, performance, and real-time collaboration.

Day 1
  —  
4:15 pm
arrow pointing right icon

Real-Life Scala Capture Checking

This will be a live coding demonstration of Scala's newest feature set: capture checking.

Day 2
  —  
11:50 am
arrow pointing right icon

Navigating Scala’s AI Landscape

In this talk, I’ll guide you through the crossroads where Scala intersects with AI, some applications aimed at boosting developer productivity, others focused on integrating your code with LLMs.

Day 1
  —  
4:50 pm
arrow pointing right icon

Effects as Capabilities

When writing software, we currently seem to have to choose between an imperative style - easy to read and write, hard to reason about - and a monadic style - hard to read and write, easy to reason about.This talk is about being greedy and getting the best of both worlds, because we deserve it.

Day 1
  —  
9:35 am
arrow pointing right icon

The world after Scala 3.9 LTS

In this talk, I will introduce the highlights of what to look forward to in Scala 3.9 LTS, as well as how to think about the upcoming new release.

See All Events
Join us!

We're looking for amazing speakers.
CFP is open till 10.01.2023

Fill in Call for Papers
location icon

Location

Centrum Konferencyjne POLIN, Poland
stay in touch icon

Follow Us

Contact Us