NgModules
NgModules configure the injector and the compiler and help organize related things together.
An NgModule is a class marked by the @NgModule decorator. @NgModule takes a metadata object that describes how to compile a component's template and how to create an injector at runtime.
ModuleProvider
When overridden in a derived class, gets the type of the module service that is associated with the module provider.