Last active
February 22, 2018 13:11
-
-
Save avelino/c2431df98ed990c546c0e68ad0873f98 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
λ ~/test/ tree | |
. | |
├── adapters | |
│ ├── adapters.go | |
│ ├── mongodb | |
│ │ └── mongodb.go | |
│ └── postgres | |
│ └── postgres.go | |
├── helpers | |
│ └── herlpers.go | |
├── main.go | |
├── templates | |
│ ├── base.html | |
│ └── index.html | |
└── users | |
├── handlers.go | |
├── models.go | |
└── templates | |
├── detail.html | |
└── list.html | |
# main.go: onde tudo começa | |
# adapters: conexão com mudulos externos, exemplo banco de dados, api de terceiro e etc | |
# helpers: muitas pessoas chama isso de utils mas eu não gosto do nome "utils" se o que esta dentro do "utils" é realmente "utils" as outras parte do software é util kkkkk | |
# users: pacote onde contem tudo relacionado a usuarios | |
## users/handlers.go: handlers http | |
## users/models.go: tudo relacionado a modelo de dados, structs, chamada para o adapters e etc, os handlers ira falar com o models que por sua vez é responsavel em falar com os adaptadores corretos | |
## users/templates/...: templates html ou qualquer outro tipo (exemplo arquivo de configuração) referente a aplicação users | |
# templates: templates generico para toda aplicação (não por modulo), geralmente esses templates são extendido por outros | |
# | |
# Dessa forma organizo o software por aplicações, delegando responsabilidade isoladas a elas | |
# Uma coisa comum que pode acontecer é eu criar sub-packages dentro das aplicações exemplo: | |
## users/models/***.go | |
## isso pode ocorrendo com o crescimento do software, aquele momento que você tem muitas linhas de codigo dentro do mesmo arquivo |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment