By far, the main problem that we have in creating a software is complexity. An easy starting point for a model view structure is provided by
Backbone.js, but it offers mainly low-level patterns. In the case of a more complex application, we can take advantage of some other frameworks to provide the missing parts on top of
Backbone.js. For each part of your system, find a way to solve it and combine the solutions of the parts to obtain the solution of the original problem. Always strive for readability and maintainability when you implement your modules, and try to encapsulate behavior and not just state code with no reason.
Modules address the larger scale needs for encapsulation, while controllers, views, routers, and regions address the ...