US4001 - ArthurSchiavom/gestao-informacao-chao-de-fabrica--projeto-academico GitHub Wiki

US4001

=======================================

1. Requisitos

O Serviço de Processamento de Mensagens (SPM) pretende efetuar o processamento das mensagens disponiveis no sistema.

2. Análise

Inicia o processo de importar os ficheiros existentes no sistema.Inicio da importacao.Final da importacao.

SSD SSD

3. Design

3.1. Realização da Funcionalidade

Note-se que o repositório é obtido através de PersistenceContext.repositories().produto() e que o persistenceContext é obtido através de PersistenceContext.repositories().newTransactionalContext(), que é a metodologia utilizada em toda a aplicação sempre que um repositório é necessário.

SD SD

3.2. Diagrama de Classes

CD CD

3.3. Padrões Aplicados

  • Repository Pattern - MensagemRepository.
  • Factory Method - Para a instanciação de objetos do domínio.
  • Simple Factory - Na instanciação de repositórios, como em PersistenceContext.repositories().mensagem() e no metodo getMessageType onde obtem uma instancia de uma mensagem (MessageFactory).
  • Controller - ImportarMensagensExistentesSistemaController
  • Polymorphism & Template method - Usado na implementação do repositório específico de cada entidade bem como na implementação da UI específica deste caso de uso.
  • Dependency inversion & Protected variation & Strategy - JpaMensagemRepository é utilizado como uma instância da interface MensagemRepository.
  • Liskov Substitution principle & Dependency inversion - Em todas as implementações de interfaces e extensões de classes.
  • Pure fabrication - Controller e UI.
  • Information expert & HC/LC - Sempre presente: cada classe tem uma responsabilidade bem definida, visando a sua independência de outras classes.
  • Singleton - Utilizado na MensagemFactory
  • Facade - Interface para o utilizador
⚠️ **GitHub.com Fallback** ⚠️