Architecture Overview
Modules
Angular apps are modular and Angular has its own modularity system called Angular modules or NgModules.
Every Angular app has at least one Angular module class, the root module, conventionally named AppModule
.
Components
A component controls a patch of screen called a view.
Templates
You define a component's view with its companion template.
Metadata
Metadata tells Angular how to process a class.
Data binding
As the diagram shows, there are four forms of data binding syntax. Each form has a direction — to the DOM, from the DOM, or in both directions.
Directives
Angular templates are dynamic. When Angular renders them, it transforms the DOM according to the instructions given by directives.
Services
Service is a broad category encompassing any value, function, or feature that your application needs.
Dependency injection
Dependency injection is a way to supply a new instance of a class with the fully-formed dependencies it requires.Most dependencies are services. Angular uses dependency injection to provide new components with the services they need.