#3 Clean Architecture - Application Layer | Yii Academy
Depois de termos conhecido e criado juntos a camada Domain neste post, neste vídeo vamos criar a Camada Application e já começar a projetar nosso primeiro UseCase, o ExportRegistration.
O software da camada de casos de uso contém as regras de negócio específicas da aplicação. Ele reúne e implementa todos os casos de uso do sistema. Esses casos de uso orquestram o fluxo de dados para e a partir das entidades e orientam essas entidades na aplicação das Regras Cruciais de Negócios a fim de atingir os objetivos do caso de uso.
Não queremos que as mudanças nessa camada afetem as entidades. Também não queremos que essa camada seja afetada por mudanças em externalidades como a base de dados, a UI ou qualquer framework comum. A camada de casos de uso deve ser isolada dessas preocupações. Contudo, esperamos que mudanças na operação da aplicação afetem os casos de uso e, portanto, o software dessa camada.
Na arquitetura que montei os use cases são separados por suas respectivas pastas e devem ter pelo menos 3 classes:
NomeDoUseCase.php: classe principal onde será implementado o caso de uso;
InputBoundary.php ou InputData: um DTO que representa os dados que serão passados para o caso de uso;
OutputBoundary.php ou OutputData: um DTO que representa os dados de saída que o caso de uso deverá retornar
Depois de você ter lido a definição dessa camada direto da fonte, agora você poderá assistir a vídeo aula onde faço do absoluto zero a criação da camada Application que é chamada de Use Cases no desenho da Clean Architecture.