Domain Driven Design (DDD) is by far my most favourite approach to building platforms and solving problems. At it’s most basic, DDD attempts to group like concepts into “Domains”. Domains provide developers/teams/organizations with very clear boundaries.