A blogosfera possui vários artigos sobre o tópico das diretrizes de estruturação do aplicativo AngularJS, como estas (e outras):
- http://www.johnpapa.net/angular-app-structuring-guidelines/
- http://codingsmackdown.tv/blog/2013/04/19/angularjs-modules-for-great-justice/
- http://danorlando.com/angularjs-architecture-understanding-modules/
- http://henriquat.re/modularizing-angularjs/modularizing-angular-applications/modularizing-angular-applications.html
No entanto, um cenário que ainda não encontrei para obter diretrizes e práticas recomendadas é o caso em que você tem um aplicativo da Web grande contendo vários aplicativos "mini-spa" e os aplicativos mini-spa compartilham uma certa quantidade de código.
Não estou me referindo ao caso de tentar ter várias ng-app
declarações na mesma página; em vez disso, quero dizer seções diferentes de um site grande que possuem sua própria ng-app
declaração exclusiva .
Como Scott Allen escreve em seu blog OdeToCode :
Um cenário que não achei muito bem resolvido é o cenário em que vários aplicativos existem no mesmo aplicativo Web maior e exigem algum código compartilhado no cliente.
Existem abordagens recomendadas a serem tomadas, armadilhas a serem evitadas ou boas estruturas de amostra desse cenário que você possa apontar?
Atualização - 10/09/2015
Um projeto com uma interessante estratégia organizacional é o MEAN.JS e sua pasta de módulos.
https://github.com/meanjs/mean
https://github.com/meanjs/mean/tree/master/modules
Outro exemplo é do exemplo do ASP.NET Music Store SPA. https://github.com/aspnet/MusicStore https://github.com/aspnet/MusicStore/tree/master/src/MusicStore.Spa/ng-apps