How I Structure My Software Projects a month 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.