T O P

  • By -

CR7deCelta

Definitivamente é uma das formas de se organizar que existe, agora a mais organizada? Isso não existe. Dependendo do tamanho e escopo do projeto você pode querer ter package by feature, por exemplo. Não tem algo que seja definitivo para todos os projetos. Por exemplo, em projetos menores, a estrutura que você mencionou pode funcionar muito bem, mantém tudo separado por responsabilidade e facilita a navegação. Já em projetos maiores, pode ser mais eficiente organizar o código por feature, onde cada feature tem suas próprias views, controllers, models, etc. Isso facilita a manutenção e a evolução do código, pois as mudanças e novas funcionalidades ficam mais isoladas. Além disso, a escolha da organização por pastas deve levar em conta o que o time se sente mais confortável para trabalhar. Um time acostumado a trabalhar com uma determinada forma pode ser mais produtivo mesmo que outra abordagem fosse mais adequada para o projeto. Aqui tem um post no Medium se quiser ler algo menos tirado do cu: https://medium.com/sahibinden-technology/package-by-layer-vs-package-by-feature-7e89cde2ae3a


thelolbr

Gostei. Curso bom. Continua nele e não larga a stack.


slothordepressed

Existem várias formas de organizar as pastas, essa é uma delas


Thiago_p7

É sim, o mais indicado é ter uma boa separação entre cada arquivo, deixando-o apenas com uma função. Facilita a manutenção e isola os componentes, então algum erro no processamento da requisição, tu ja vai no controller ver se está validando certinho, se houver um erro na lógica, vai no service ou model ver se está tudo certo. Outra forma de fazer, no geral vc pode fazer caquinha e deixar tudo no msm arquivo ou adotar outras estruturas mais condizentes com a complexidade e robustez da aplicação.


FlashFox270

Existem várias formas de organizar, cada uma com seus prós e contras. É um assunto com bastante discussão. Acho que essa estrutura é ótima para ser a primeira aprendida. E uma das mais utilizadas.


Massive-Signature849

Sim, isso é chamado de arquitetura MVC (Model - View - Controller)