- Nick Daigler
iOS Lead Essentials Course Learnings - Part 2
I've been chugging through the iOS Lead Essentials Course for about one month, at this point. I'm enjoying how the course doesn't lean heavily into iOS-specific technologies and concepts. Rather, the course re-enforces good (dare I say SOLID 😉) engineering practices. One such practice that has been drilled by the video lectures up to this point is the notion of domain-driven design.
I'm a noob when it comes to putting domain-driven design into practice. Martin Fowler defines domain-drive design as "an approach to software development that centers the development on programming a domain model that has a rich understanding of the processes and rules of a domain".
This definition has left me wondering how I can actually begin implementing domain-driven design principles into current projects.
Based on what I've read about domain-driven design, here are some things I've been doing at Pludo to reflect some of DDD's core principles:
Creating bounded contexts for data models
Using data transfer objects to cross contextual boundaries
Working with backend engineers to remove domain knowledge from a number of endpoints
Promoting the use of a shared language between iOS & backend engineers
Anyways, this is a long-winded way of saying the course has turned me on to domain-driven design.
That's all for now; be well.
Nick