Not the elegant prince of our debauched and vicious art, not the jeweled idol of our society churches--but the Jesus of the awful reality, the man of sorrow and pain, the outcast, despised of the world, who had nowhere to lay his head--.
Service is singleton and simple version of Factory. While Factory is a simple version of Provider, Factory is a more flexable compared to service method, and a short handed for configuring a service when $get method is required. Provider creates new object by the $get factory function. Provider is not injectable during run phase or run time while all others are ( Constant, Variable, Service, and Factory), however, Provider is injectable during the configuration phase or compile time.
In AngularJS apps most of these objects are instantiated and wired together automatically by the injector service. The injector creates two types of objects, services and specialized objects. Services are objects whose API is defined by the developer writing the service.