There is a post about Dependency Injection(DI) here. See @Thiago Arrais's answer, in particular.
It seems nice if the constructors are minimal, and dependencies are specified as interfaces. This means other code can easily instantiate your class, and also supply its own impementation.