From the the Object Design Style Guide by Matthias Noback
In this article we’ll discuss all the relevant aspects of instantiating a service. You’ll learn how to deal with its dependencies, what you can and can’t do inside its constructor, and you should be able to instantiate it once and make it reusable many times.