I am fairly new to Angular.js, and one that confuses me is how to best use modules in an application. It seems to me that modules can contain any of the other common constructs in AngularJS (controllers, directives, filters, services, etc.), but from here I am unsure which module(s) should contain which things.
Should I have one module that contains all of the other objects in my application? This seems the easiest to set up, but this smells of the God Object Anti-Pattern to me.
Should I divide modules up by types of objects? i.e. one module for controllers, one for directives, etc.?
Should I divide them by use? So that all directives, services, and filters that are used for part of the application are together?
some other strategy I haven't yet seen / thought of?
Any help would be greatly appreciated.