Tactical Domain-Driven Design
Half Day Workshop - May 31, 2023 — 13:00-17:00
Location: Talent Garden, Liechtensteinstraße 111/115, 1090 Vienna
Domain Driven DesignBusiness LogicDomain Model
What is it?
Business logic is the most important part of software. It’s the reason the software is being implemented in the first place. The user interface of a system can be gorgeous, and its database can be lightning fast and scalable. However, if the software is not useful for the business, it’s nothing but an expensive technology demo.
The secret sauce that converts incoming data into the correct output is a system’s business logic. How to ensure that the business logic produces the correct outputs? Will it provide data security in face of unforeseen circumstances, such as power outages and network partitions? How can deterministic execution results be guaranteed even in cases of parallel and concurrent executions? Last but not least, how can the system’s business logic easily evolve and adapt to future needs and requirements?
This course will teach you how to answer the questions above using four business logic implementation patterns: transaction script, active record, domain model, and event sourced domain model. You will learn how to implement each pattern, and more importantly, when and where to use each pattern.
By the end of this hands-on training, you’ll understand:
What business logic is, and why it’s important
How to ensure correctness of the system’s data even when the system faces unforeseen circumstances
The different problems addressed by the four business logic implementation patterns
How to choose the correct pattern for your particular system’s needs
And you'll be able to:
Effectively design and implement business logic
Evaluate a system and choose the appropriate business logic implementation strategy
Avoid bugs caused by elusive edge cases and concurrent executions
Protect the system’s main asset — its data
This training is for you because:
No matter what kind of a system you are working on, there is always business logic that you have to implement
Evaluate a system and choose the appropriate business logic implementation strategy
Successful implementation of business logic is crucial for the system’s business value
You want to be equipped with often overlooked, yet essential skills for any software engineer
Vlad Khononov
Vladik (Vlad) Khononov is a software engineer with over 15 years of industry experience, during which he has worked for companies large and small in roles ranging from webmaster to chief architect. Vlad is a long-time proponent of domain-driven design and evolutionary architecture and currently helps companies make sense of their business domains, untangle monoliths, and tackle complex architectural challenges.
Vlad maintains an active media career as a public speaker and blogger. He has spoken at numerous industry conferences — including O’Reilly Software Architecture, DDD Europe, and NDC — about subjects such as domain-driven design, microservices, and software architecture in general. In addition to his media work, he co-organizes the Domain-Driven Design Israel and Tel Aviv Software Architecture meetup groups.