June 2017
Intermediate to advanced
394 pages
8h 52m
English
Once we have the data encapsulated in a request, it's time for the business logic. As Vaughn Vernon says: "Keep Application Services thin, using them only to coordinate tasks on the model."
The first thing to do is to extract the necessary information from the request, That is, the email and password. At a high level, we need to check if there's an existing user with a particular email. If this isn't the case, then we create and add the user to the UserRepository. In the special case of finding a user with the same email, we raise an exception so the client can treat it their own way — by displaying an error, retrying, or just ignoring it:
namespace Lw\Application\Service\User;use Ddd\Application\Service\ApplicationService; ...