Search
  • 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:

  1. Creating bounded contexts for data models

  2. Using data transfer objects to cross contextual boundaries

  3. Working with backend engineers to remove domain knowledge from a number of endpoints

  4. 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

6 views0 comments

Recent Posts

See All

Parsing XML with Swift

If you're just here for the code, go here. I recently found myself needing to parse an RSS feed and display a list of podcast episodes in a list. I typed, "xml parser apple docs" into Google and found

iOS @ Pludo: Reactive Components

Reactive programming is a trendy topic these days, and this has proved especially true in the iOS community over the past few years. Combine was introduced at WWDC 2019 and only added fuel to the fire

Why I'm not a fan of pursuing balance

I had zero balance a bit over three years ago, as a freshman in college. I spent most of my time studying. Most of the time I didn't spend studying was spent worrying that I should be studying. Those