This presentation includes: Reflective injection using TypeScript, Reflect Metadata, Zone.js, Dependecny Injection, Angular, Decorators, Decorator Factories and etc.
9. TIGHT COUPLING
• A change in one module usually forces
changes in other modules.
• Assembly of modules might require
more effort and time due to the
increased inter-module dependency.
• A particular module might be harder to
reuse and test because dependent
modules must be included.
20. ANGULAR DEPENDENCY INJECTION
• Providers
• Injectors
A provider provides the concrete, runtime version of a dependency value.
The injector relies on providers to create instances of the services that the
injector injects into components and other services.
24. TYPESCRIPT DECORATORS
• Decorators provide a way to add both annotations and a meta-
programming syntax for class declarations and members.
• Decorators are a stage 2 proposal for JavaScript and are available as
an experimental feature ofTypeScript (+ reflect-metadata library).
• Decorators are an experimental feature so we need to explicitly tell
the compiler that we want to enable them.
36. WHAT IS A ZONE
• A zone is an execution context that persists across asynchronous tasks.
• It allows us to control execution of the code within the zone.
37. ZONES.JS
• The library monkey patches all the async browser APIs.
• Redirects all the async operations trough a zone of interception.
• Creates a <root> zone.
• Provides a global Zone object used for zone management.