Avanscoperta
Domain Modeling Made Functional

Domain Modeling Made Functional

Domain-Driven Design meets Functional Programming

Functional programming and domain-driven design might not seem to be a good match, but in fact functional programming can be an excellent approach to designing decoupled, reusable systems with a rich domain model. This workshop will show you why.

This is a hands-on workshop by Scott Wlaschin, author of the book “Domain Modeling Made Functional”, and it’s designed for beginners in functional programming.
You’ll do lots of domain modeling exercises starting with some simple models and then enhancing them with constraints, state machines, error handling, commands and events, and so on.

Target Audience

This workshop is aimed at software developers and it will be especially useful if you are learning functional programming – all concepts used in the workshop will be explained.
Previous development experience is recommended.

Topics

  • Introduction to functional programming
  • Functions and types
  • Composition as the fundamental principle
  • Overview of DDD principles
  • The importance of bounded contexts
  • Persistence ignorance
  • Onion/Hexagonal architecture and how this works with functional programming
  • Modeling requirements with algebraic types
  • Records, choices, and functions
  • Modeling constraints
  • Modeling states
  • Programming a workflow
  • Keeping IO at the edges
  • Handling domain errors
  • Composing complex functions
  • Evolving the domain
  • Dealing with changes in requirements

Learning Objectives

By the end of the workshop, you’ll know how to build working solutions with rich domain models, using only functional programming techniques.

Join this workshop by Scott Wlaschin and learn:

  • The concepts of functional programming
  • How to represent the nouns and verbs of a domain using types and functions
  • How to decouple the pure domain logic from the outside world
  • How to ensure that constraints and business rules are captured in the design
  • How to represent state transitions in the domain model
  • How to build a business workflow from smaller components
  • How to handle errors as part of the domain.

F.A.Q.

Do I need to know something beforehand in order to participate in this workshop?
We will be using F# as our development language. No experience with F# needed.
Please install the F# compiler and an F#-friendly editor such as Visual Studio Code using the instructions at fsharp.org.

Do I need to bring my laptop with me?
Yes, you will need your laptop in order to join this workshop. More detailed info will be sent to you prior to the workshop date.

N.B.

Il workshop sarà confermato al raggiungimento del numero minimo di partecipanti. Invieremo una comunicazione con la conferma del corso agli iscritti non più tardi di tre settimane prima del corso.

Info pratiche sul workshop

Lingua: Inglese.
Orari: 9.30 – 17.30.
Venue: Connexxo Academy Italia, Via Giosuè Carducci, 125, Sesto San Giovanni (Milano).
Laptop: Sì, ti servirà il laptop per poter seguire il corso. Controlla le specifiche nella sezione F.A.Q.
Numero massimo di partecipanti: 16.
Dress code: informale.
Compreso nel prezzo: coffee break e i pranzi insieme al docente e agli altri corsisti. Perché anche il networking è importante! :-)

Come arrivare a Milano?

Puoi raggiungere il centro di Milano grazie ai collegamenti con ben tre aeroporti: Linate, Malpensa, e Bergamo Orio al Serio. Non male, vero? :-)

Visita la nostra pagina Connexxo Academy Italia Info Page e inizia a preparare il tuo viaggio! Ci troverai un sacco di informazioni utili su dove dormire, alcune opzioni di viaggio, dove si trova la venue del workshop, e molto altro ancora!

Domande? Dubbi? Scrivici: info@avanscoperta.it.

Vuoi saperne di più sui nostri biglietti?

Biglietti

Under_Cover_LearnerSCONTO 20%

Se ti stai iscrivendo al corso a titolo personale e non hai la Partita IVA, c’è una tariffa speciale per te: uno sconto del 20% sul prezzo corrente del biglietto

Come? Inserisci il codice Under_Cover_Learner nel campo "Immetti codice promozionale" di Eventbrite.

Note: lo sconto non è cumulabile con altri codici sconto.

Scott Wlaschin

Scott Wlaschin è sviluppatore e architetto software nonché autore del libro "Domain Modeling Made Functional", pubblicato da Pragmatic Bookshelf.un ar a developer, architect, and author. Scott è anche il creatore e curatore del famoso sitofsharpforfunandprofit.com, dedicato al mondo F#.

Chi siamo, in breve :)

Avanscoperta è un ecosistema in espansione fatto di professionisti con una grande passione per l’apprendimento: ci piace imparare cose nuove e scambiare esperienze e idee, esplorando territori finora inesplorati in ambito software, nella sua accezione più ampia possibile.

Selezioniamo con attenzione gli argomenti più rilevanti e i migliori docenti da tutto il mondo, e diamo particolare importanza alle tecniche di insegnamento, preferendo approcci pratici e coinvolgenti.
Unisciti a noi! 🙂

Ti interessa questo corso?

Se hai delle domande specifiche, o vuoi ricevere maggiori informazioni, scrivici. Saremo felici di risponderti!







NEWSLETTER

Vuoi ricevere una volta a settimana i nostri contenuti esclusivi su tecnologia, sviluppo software, business e design?

ISCRIVITI ALLA NEWSLETTER :-)

Iscriviti alla newsletter!