Domain Driven Design in Golang - Idiomatic application design

Introduction In this article, I will share my approach to structuring Go applications using DDD principles, and highlight some of the tradeoffs that come with this approach. By following the principles outlined in this article, you can create a structure for your Go application that separates concerns between the domain layer, the application layer, and the infrastructure layer making your application more modular, easier to test, and more maintainable over time still maintaining idiomatic Go packaging....

March 21, 2023 · 9 min · Damiano Petrungaro

Writing idiomatic Go using Domain Driven Design - GoWay 2020

Video Slides

June 11, 2020 · 1 min · Damiano Petrungaro

Domain Driven Design in Golang - Tactical Design

Introduction In the past few weeks, I received a lot of private and public questions about the first article of the Golang and Domain-Driven Design series I wrote. Most of the questions I received privately were about how to write an entire Golang project (or code in general) using DDD tactical patterns. So I decided to address some of those questions, and I am going to explain more widely my vision about Golang and DDD describing some code patterns I use and trade-offs I always consider....

March 10, 2020 · 19 min · Damiano Petrungaro

Domain Driven Design in Golang - Strategic Design

Introduction In the last year, I have been working more and more with Golang as I used to be a 100% PHP coder before. The community around PHP is terrific, and as a language has a lot of Domain-Driven Design (DDD) advocates. I have been affected by the community about this methodology too, so I’ve been studying and practicing it for the last 3 years. When moving from PHP to Go as an everyday-language, I noticed that DDD doesn’t resonate within the Golang community because most people think it influences an “OOP approach” when writing Go code since the majority of the books and examples about patterns are written in Object-Oriented Design....

January 28, 2020 · 9 min · Damiano Petrungaro

Do PHP Frameworks still make Sense? Let’s go Frameworkless to focus on the Domain! - IPC 2019

Video Slides

June 6, 2019 · 1 min · Damiano Petrungaro

Communication Across Bounded Contexts - [Internal]HelloFresh 2019


March 3, 2019 · 1 min · Damiano Petrungaro

Modern PHP development with Laravel - LaravelDay 2018

Video Slides

November 29, 2018 · 1 min · Damiano Petrungaro

Using Repository Pattern with Eloquent for Code that Lasts - LaravelDay 2017

Video Slides

November 29, 2017 · 1 min · Damiano Petrungaro