Brainberg
From End of DDD Tactical Patterns to using Spring Boot to build games
Software EngineeringMeetupFree

From End of DDD Tactical Patterns to using Spring Boot to build games

Tue 9 Jun · 16:00
Gembloux, 🇧🇪 Belgium
< 50 attendees
Oniryx · chaussée de charleroi 63

About this event

It's that time of the year again! Once a year, BeJUG takes the sessions outside, and we are happy to be back under the open sky.

A big thank you to Oniryx for hosting us once again. Great venue, great people, great vibes.

We have two excellent speakers ready to share some knowledge:

  • Ted will dive into Event Sourcing and the End of DDD Tactical Patterns, a topic that should give us plenty to chew on (and probably to debate over a drink afterwards).
  • Alex will show us how to build games using Spring Boot, because yes, Spring Boot is not just for enterprise CRUDs.

Come join us for this next event!

Schedule

  • 18:00: Doors open + Food and Drinks
  • 18:45: Intro and BeJUG updates
  • 18:50: Talk 1
  • 19:35: Little break
  • 19:45: Talk 2
  • 20:30: Mingling + Drinks

Topics

Event Sourcing and the End of DDD Tactical Patterns?
You finally have a Domain Model that represents the business and supports the functionality of the system. Then the hard part: how do you persist that model to a database? Maybe you're a purist (like me), mapping domain objects to separate database entities. or you directly annotate your domain objects, but have to compromise the domain model to fit the way databases store information.

Event sourcing avoids this problem while providing flexible transactional (consistency) boundaries. Instead of mapping object state to tables, you store a sequence of events that led up to the current state: "Concert Scheduled", "Tickets Purchased", etc. Each event is added to an append-only log, making writes almost trivial, with "projections" making custom-fit views straightforward.

However, event sourcing requires a mind-shift from the well-known CRUD and DDD Tactical Patterns (Aggregates and Repositories), but the benefits are more flexible systems, with a less "leaky" way to externalize the state of your domain model that is easier to apply across the domain.

In this talk, you'll learn how event-sourcing works at the code level without event-sourcing libraries getting in the way of deeper understanding. We'll walk through a codebase for a Concert Ticketing system and see how straightforward the implementation can be.

We start with "Event Modeling" the system, defining the commands (user actions) that generate them, the aggregates that make business decisions (and how to move to "deciders"), and the projections used to generate the user interface. We'll see how event-sourcing makes testing easier to write and understand.

We'll end by touching on the challenges to using event-sourcing, such as performance and schema evolution.

About Ted
Ted M. Young is a Java technical coach and live coder. He's been in software development for over 30 years, following eXtreme Programming practices since 2000. Ted loves helping folks make their code more testable and teaches Test-Driven Development (TDD), Refactoring, Domain-Driven Design, and Event Sourcing through hands-on, shared experiences. Ted created the acclaimed "JitterTed's TDD Game" used at events and companies worldwide to help people understand the nuances and benefits of TDD in a fun way.

Let's use Spring Boot to build games, because why not?
If you work on enterprise grade microservices on the JVM, you have undoubtedly heard of Spring Boot. Most developers see it as the reliable backbone of enterprise software. It is stable, predictable, and safe. But what if we took all those conventions and threw them out the window? What if we repurposed the IoC container, event listeners, and bean lifecycles to reveal what Spring Boot was always meant to be? A game development framework!

Join Alexander as he attempts to deconstruct and demystify the Spring ecosystem by forcing it to do things it was definitely not designed for. We are not talking about simple text adventures here. We are talking about building complex, real-time games like a Terraria clone or a souls-like RPG, all powered by the same annotations you use for your day job.

This session explores what happens when you learn technologies by breaking them. Whether you are a Spring veteran or a newcomer, this talk offers a fresh perspective on the tools you use every day. You will leave with a better understanding of how Spring Boot works under the hood and the inspiration to build something completely unnecessary, just because you can. Come for the absurdity, stay for the laughs, and see what happens when you strip away conventions and best practices in the pursuit of a wild idea.

About Alex
Alexander, a 35-year-old Software Engineer at JDriven, holds dual Dutch and Greek nationality. He earned his master’s degree in Game Studies from the University of Amsterdam, where he discovered his passion for gamification and software engineering. Alexander aims to bridge the gap between game development and software engineering, believing that both industries have much to learn from each other. He is dedicated to integrating technologies and methodologies from both fields. Additionally, he enjoys experimenting with new technologies and cutting-edge sdk’s.

Additional notes:

  • This meetup includes food. Please keep your RSVP status up to date so we do not waste any of our food.
  • Some pictures might be made. If you feel uncomfortable about this, please mention this to the organizers (or anyone with a camera).

Source: meetup