How I Structure My Software Projects 2 months ago 2 min read architecturedomain-drivendesigngolangdecouplingcohesioninfrastructurecomplexitydatabasesDDDengineering Times, requirements, technology changes constantly. If we are not able to catch up in a timely manner, we are putting the business under increasing risk.