June 2017
Intermediate to advanced
394 pages
8h 52m
English
Handling users is not the responsibility of the Service. As we saw in Chapter 10, Repositories, there's a specialized class that deals with User collections: the User Repository. This is a dependency from the Application Service to the Repository. We don't want to couple the Application Service with a concrete implementation of the Repository, as then we'd be coupling our Service with Infrastructure details. So we depend on the contract (interface) that concrete implementations depend on, the UserRepository.
A specific implementation of the UserRepository will be built and passed in at runtime — for example, with DoctrineUserRepository, a specific implementation that uses Doctrine. Passing a specific implementation will ...