Architecture, Perf. & Sec.Conference50min
All Models Are Wrong: Lessons from Real DDD Projects
This session shares practical lessons from years of designing and refactoring domain models. Through real examples, it explores how modeling choices affect flexibility, how to prevent business logic leakage and tight coupling, and how to keep domain models clean, adaptable, and focused on behaviour as requirements evolve.
talk.summaryAiDisclaimer
Vadim PrudnikovTrainitek
In software projects, domain models often become large, rigid, and difficult to evolve. Business logic leaks into controllers and services. Aggregates grow without boundaries. Relationships become tightly coupled. Tests focus on data instead of behaviour.
In this session, I’ll share lessons from years of designing and refactoring domain models in real systems, including the mistakes that led to overcomplicated and fragile designs.
Through practical code examples, we’ll examine how some small modeling decisions shape the long-term flexibility of a system, and what makes a domain model remain useful when requirements change.
I look forward to seeing you at my talk!
In this session, I’ll share lessons from years of designing and refactoring domain models in real systems, including the mistakes that led to overcomplicated and fragile designs.
Through practical code examples, we’ll examine how some small modeling decisions shape the long-term flexibility of a system, and what makes a domain model remain useful when requirements change.
I look forward to seeing you at my talk!
Vadim Prudnikov
Hands-on Architect, IT Trainer, and Conference Speaker with 20+ years of experience, passionate about building high-quality software, mentoring developers, and sharing knowledge.
I've trained over 700 professionals in Architecture, DDD, EventStorming, and TDD, built and deployed more than 10 production-ready projects, led multiple development teams, and created a successful Java department from scratch. Along the way, I’ve mentored 20+ developers and conducted 100+ technical interviews.
My expertise lies in Java, but I also have experience with TypeScript, Groovy, and other programming languages. I believe that strong technical skills, continuous learning, teamwork, and knowledge-sharing are the keys to success in software development.
I've trained over 700 professionals in Architecture, DDD, EventStorming, and TDD, built and deployed more than 10 production-ready projects, led multiple development teams, and created a successful Java department from scratch. Along the way, I’ve mentored 20+ developers and conducted 100+ technical interviews.
My expertise lies in Java, but I also have experience with TypeScript, Groovy, and other programming languages. I believe that strong technical skills, continuous learning, teamwork, and knowledge-sharing are the keys to success in software development.