One further extension of dependency injection in Angular 2 is the ability to use factories when defining your provider hierarchy. A provider factory allows you to accept input, perform arbitrary operations to configure the provider, and return that provider instance for injection.
The code, links, and a live example of this are available at http://ngcookbook.herokuapp.com/0049/.
Begin again with the dual service and article component setup shown in Service injection aliasing with useClass and useExisting, earlier in the chapter.
Provider factories in Angular 2 are exactly as you might imagine they would be: functions that return a provider. The factory can be specified ...