Fresh perspective on real-world software design: from DDD to CQRS and from both up to Event Sourcing

Fresh perspective on real-world software design: from DDD to CQRS and from both up to Event Sourcing
Duration
8 hours
Course type
Online
Language
English
Duration
8 hours
Location
Online
Language
English
Code
PTRN-021
Training for 7-8 or more people? Customize trainings for your specific needs
Fresh perspective on real-world software design: from DDD to CQRS and from both up to Event Sourcing
Duration
8 hours
Location
Online
Language
English
Code
PTRN-021
. . .
*
Training for 7-8 or more people? Customize trainings for your specific needs

Description

Software exists and will exist to make our life easier. To some extent it is acceptable that software introduces new processes and new ways of doing old things. But for the most part software must simply mimic the real world. We’ve been pushing models all the way through for decades now. It worked well for years, but now the classic data modeling approach based on entities, relationships and normalization is showing signs of age. What’s new? The point of the workshop is that we probably missed a key thing: real world has events not models. After a first part in which DDD is introduced and then CQRS is presented to improve over it, both are pushed aside to make room for event sourcing. But event sourcing alone shows only half of its tremendous potential. Event sourcing and CQRS form a really powerful duo for the years to come.

The workshop goes through the definition of the DDD alphabet soup (bounded context, entities, value objects, complex types, and aggregates), compares and contrasts domain models with anemic models and relates a domain model to DTOs, real-world processes, business rules, and concrete technologies for persistence such as Entity Framework Code-first. At the end of the module the growing complexity of an all-encompassing model is clear to everybody and with it the need of stepping back to a simpler model such as CQRS but equally powerful. CQRS, however, opens up a significantly different perspective of application design. In a way, it clears doubts that obfuscated in the past basic patters such as Transaction Script and it also reintroduced through the window anemic models that just were sent off via the door with the advent of deep modeling. A revised demo will just show how natural CQRS can be in the design of an application. Finally, the workshop reaches its climax with event sourcing as a form of lateral thinking. You’ll see a full demo where a NoSQL database stores events, events are replayed into a DDD read model, and issues such as synchronization, consistency, performance, latency arise naturally to call for a solution.

Speaker – Dino Esposito.

dino_100_100.png

A long-time trainer and top-notch consultant, Dino is the author of many popular books for Microsoft Press that helped the professional growth of thousands of .NET developers and architects. CTO of a fast-growing company providing software and mobile services to professional sports, at the moment Dino is also technical evangelist for JetBrains, where he focuses on Android and Kotlin development, and member of the team that manages WURFL—the database of mobile device information used by organizations such as Google and Facebook. 

We invite you to watch a video interview with Dino Esposito, in which he talks about the master class “Fresh perspective on real-world software design: from DDD to CQRS and from both up to Event Sourcing”.

certificate
After completing the course, a certificate
is issued on the Luxoft Training form

Target Audience

Developers and lead developers willing to grow professionally by learning design principles to apply in everyday work.
The class also addresses well common needs of project managers and IT managers who coordinate the various phases of the software development process. The class gives them some solid knowledge to better communicate with super-skilled developers and architects. Finally, the class may also result fruitful to solution architects needing a crisp refresher or looking for a new perspective that rejuvenate their design spirit.

Roadmap

Domain-driven design:
  • Bounded context;
  • Ubiquitous language;
  • Aggregates;
  • Entities;
  • Services and domain services.
CQRS:
  • Benefits of Read/Write Split;
  • CQRS Architectures.
Event-sourcing:
  • Foundation of the pattern;
  • Handlers;
  • Data snapshots;
  • Application layer in an event-sourcing architecture;
  • Cross-cutting concerns in an event-sourcing architecture.

Takeaways:
Found your design on events rather than comprehensive models;
Let business emerge from use-cases and presentation (UX-first);
Reconsider the role of the database—a layer rather than a product.

Format:
On top of the frontal presentations, the class uses numerous conceptual demos and excerpts from sample applications as well as real projects.

Course price:
May, 1 – June, 30 – 377 EUR;
July, 1 – August, 31 – 450 EUR;
September, 1 – October, 24 – 550 EUR.

Course will be read in English with simultaneous translation.
"TYPE"html";}
Still have questions?
Connect with us