... | @@ -4,16 +4,24 @@ |
... | @@ -4,16 +4,24 @@ |
|
|
|
|
|
- The application is **strongly graphics oriented** so it makes use of the *Three.js* library. On the other hand it's not using a typical UI global app framework. Instead good patterns and practices are adapted to the project needs.
|
|
- The application is **strongly graphics oriented** so it makes use of the *Three.js* library. On the other hand it's not using a typical UI global app framework. Instead good patterns and practices are adapted to the project needs.
|
|
|
|
|
|
- Use of **application modules** to organize and get uncoupled and maintainable code. Try to create small subsystems that are not interdependent. Use of **global event system**. Implement a system for inter-module communications based in events to reduce the coupling (pub/sub pattern).
|
|
- The *module pattern* is the first level of code organization: the application to split into multiple files (*modules*). A module usually contains a class or a library of useful functions. Using the language-level module system (*ECMAScript 6*).
|
|
|
|
|
|
- Distinguish **definition code from initialization code**. Reusable components should be defined without actually being instantiated/activated.
|
|
- **App layout/Code organization**
|
|
|
|
|
|
|
|
- Use of **application modules** to organize and get uncoupled and maintainable code. Try to create subsystems (activity implementation) that are not interdependent. Use of **global event system**. Implement a system for inter-module communications based in events to reduce the coupling (pub/sub pattern).
|
|
|
|
|
|
|
|
> It's worthy to distinguish file modules (as referred by the above module pattern) from app modules. These use to be composed of lot of file modules (forming a package) and implement a well defined functionality (app activity).
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
- **'state-component-based' architecture**
|
|
- **'state-component-based' architecture**
|
|
|
|
|
|
Stage management in the application (no state/data stored in the DOM).
|
|
Stage management in the application (no state/data stored in the DOM).
|
|
|
|
|
|
Components
|
|
Components
|
|
Views observe model changes (event system), reflect the content of the models. Views implementation based in uncoupled UI components using a programmatic approach (internal templating).
|
|
Views observe model changes (event system), reflect the content of the models. Views implementation based in uncoupled UI components using a programmatic approach (internal templating).
|
|
|
|
Distinguish **definition code from initialization code**. Reusable components should be defined without actually being instantiated/activated.
|
|
|
|
|
|
|
|
|
|
----
|
|
----
|
|
|
|
|
... | | ... | |