DEV Community

Haruan Justino
Haruan Justino

Posted on • Edited on

5

Learning Go Notes - Clean Architecture and Go, is it a match?

These last days I was migrating a PHP project from symfony 2.8 to 3.4 and PHP from 5.6 to 7.2 and it was taking a lot of time to run the unit tests, I recently started to study go and I was postponing the study of clean/hexagonal achitecture for a while.

I still a bit unconfortable using go since I am pretty new, I felt that there was no very mature web framework to use with it to understand the language patterns, everyone saying to use the standard library, but no examples about how to do complex applications.

Since I didn't found a good example, I thinked a good Idea would be study another thing for a while and try go again later, and them I searched about hexagonal architecture and bang, I found these 2 presentations:

GopherCon UK 2018: Kat Zien - How do you structure your Go apps?
https://www.youtube.com/watch?v=VQym87o91f8

Robert C Martin - Clean Architecture and Design
https://www.youtube.com/watch?v=Nsjsiz2A9mg

And to me it seems like a match, the way that golang works with projects and dependencies, seems to work pretty well, I will try it later.

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (2)

Collapse
 
eminetto profile image
Elton Minetto

I’m using Clean Architecture with Go and I wrote a post about it: dev.to/eminetto/clean-architecture...

Collapse
 
haruanm profile image
Haruan Justino

Awesome, I will use it to learn for sure!

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay