| Próxima revisão | Revisão anterior |
| pres:gerti:construcao_dos_modulos:servicos:servicos:start [09/12/2016 11:49] – crsouza | pres:gerti:construcao_dos_modulos:servicos:servicos:start [27/12/2017 13:00] (atual) – maugusto |
|---|
| Os classes de serviços implementam as interfaces de serviços ne herdam a classe //ServicoPadrão//, que deve ser tipada pelo Dto e o Objeto de Negocio da classe referente ao serviço. Como os serviços são consumidos por camadas de usuário, a troca de dados ocorre através dos Dto’s e os objetos de negocio, sendo os Dto’s visíveis à camada de usuário e os objetos de negocio utilizado pelas demais camadas para busca e persistência de dados. Para a transição dos dados de uma camada para outra são utilizados conversores. A função de um conversor é realizar um “parse” dos dados dos objetos de negocio para os Dtos ou de um Dto para um objeto de negocio. | ====== Serviços e Validadores ====== |
| A classe //ServicoPadrão// disponibiliza as funções de serviços genéricas implementadas para uso dos repositórios no seu contexto padrão. Funções extras desenvolvidas nas classes do repositório que serão consumidas pelos necessitam de uma função dedicada no na camada de serviço para uso na camada de usuário. | |
| As figuras a seguir são os exemplos da classe de serviço, a //ServicoPadrão// e suas funções e o conversor. | |
| |
| | As classes de serviços implementam as interfaces de serviços e herdam a classe //ServicoPadrao//, que deve ser tipada pelo Dto e o Objeto de Negocio da classe referente ao serviço. Como os serviços são consumidos por camadas de usuário, a troca de dados ocorre através dos Dto’s e os objetos de negocio, sendo os Dto’s visíveis à camada de usuário e os objetos de negocio utilizado pelas demais camadas para busca e persistência de dados. |
| | |
| | A classe //ServicoPadrao// disponibiliza as funções de serviços genéricas implementadas para uso dos repositórios no seu contexto padrão. Funções extras desenvolvidas nas classes do repositório necessitam de uma função dedicada na camada de serviço para uso na camada de usuário. |
| | As figuras a seguir são os exemplos da classe de serviço, a //ServicoPadrao// e suas funções e o conversor. |
| | |
| | {{ :pres:gerti:construcao_dos_modulos:servicos:servicos:solution_crud_servico_servicos.png?direct |Classe de Sevico}} |
| | |
| | {{ :pres:gerti:processos_de_ti:solution_crud_servico_servicopadrao.png?direct |Classe de ServicoPadrao}} |
| | |
| | Para persistência de dados uma boa pratica é a validação dos dados antes de uma operação no banco de dados. Existe no TCE Compartilhado uma classe chamada //ValidadorPadrao//, figura abaixo. |
| | {{ :pres:gerti:processos_de_ti:solution_crud_servico_validadores_validadorpadrao.png?direct | Classe ValidadorPadrao}} |
| | |
| | As funções padrões da classe fazem apenas validações padrões de objeto e alguns atributos. Validações especificas devem ser tratadas, um exemplo é existência de atributos de relacionamento entre tabelas. |
| | Através da classe //AbstractValidator// a função //RuleFor// faz a chamadas das funções especificas para tratar cada validação na forma de //LINQ//. As funções //Rulefor// devem ser chamadas pelo //override// das funções padrão da classe herdada. |
| {{ :pres:gerti:processos_de_ti:solution_crud_servico_validadores.png?direct |}} | {{ :pres:gerti:processos_de_ti:solution_crud_servico_validadores.png?direct |}} |
| |