#capture
Terminology
- Separation of Concerns - each module or layer in an application should only have one job and not do the jobs of others.
- Model
- Viewer
- Controller - A reusable GUI input for interacting with an application. Can be comboboxes, sliders, buttons, switches, or widgets.
- Widget - a small application meant to be embedded in other applications
- Layer - Logical gropings of functionality
- Tiers - runtime environments that layers get deployed to
Libraries and Frameworks
- Minimal library - provides a handful of objects and methods designed for well organized applications i.e. Backbone.js
Client-side concerns
- Module management
- Events
- Presentation and DOM manipulation
- Internationalization
- Data maangement and IO
- Routing - translating URLs to script actions
- Logging
- Analytics tracking
- Authentication
- Feature toggling
References
https://www.oreilly.com/library/view/programming-javascript-applications/9781491950289/ch05.html#:~:text=Separation%20of%20concerns%20is%20the,smaller%20units%20of%20encapsulated%20functionality.