Search, explore and find the perfect course for you
TDD! BDD! DDD! CQRS! Event Sourcing!
So many acronyms, so many buzzwords - but what do they really mean, and how can you harness the ideas behind them to build better software and deliver business value?
The seminar will start out by looking at the notion of capturing business needs, with a high-level look at TDD and BDD. We'll see that while they both offer some hope, they only go so far in dealing with perhaps the largest challenge we face as developers: managing software complexity.
With these ideas and their limitations in mind, we'll look at what Domain Driven Design brings to the table, and see how it helps us to manage complexity. Topics covered will include domain models, ubiquitous language, and bounded contexts. We'll discuss how applying DDD successfully involves more than just transforming development; instead, it has wider implications for the whole organization.
Having seen what DDD can offer, we'll turn to implementation, discovering that CQRS is not even an architectural pattern, but just a neat idea for factoring. We'll get beneath the buzz and see what's really going on: how it helps us separate concerns better, and why the verb focus it offers matters more than the traditional noun focus. We'll then build on this to look at how Event Sourcing fits in with all of this: the benefits, the challenges, and some of the implementation reality. We'll also explore how testing looks in such a system.
You'll leave with some new ways to look at things, and a bunch of ideas on how to improve your software development.
- Event Sourcing