Camada de Negócios
A camada de negócio provida pela arquitetura, é dada através das classes com sufixo Manager (dentro projeto 3layer-commons-buiness). Ela é estruturada da seguinte maneira:
Está camada fornece métodos CRUD com implementação básica e são expostos dentro da arquitetura para que, caso seja necessário, possam ser implementados de forma especifica. Os métodos declarados na interface IManager e Implementados na classe AbstractManager e são:
Especificando Métodos de Negócio da Arquitetura
Caso sejam necessárias criar regras e validações especificas para um determinado fluxo, o mesmo pode ser feito seguindo os seguintes passos:
Criar uma interface que estenda IManager tipificando-a com a Classe referente a entidade de banco de dados (para fins de persistência de dados)
Interface12publicinterfaceIExemploManagerextendsIManager<EntidadeBancoDados>{}Cria uma classe concreta que implemente a interface criada e estenda AbstractManager tipificando-a com a Classe referente a entidade de banco de dados (para fins de persistência de dados)
Classe Concreta123456publicclassExemploManagerextendsAbstractManager<EntidadeBancoDados>implementsIExemploManager{publicExemploManager(IBasicPersistence persistence) {super(persistence);}}Sobrescrever os métodos que precisam ser especificados (neste exemplo, especificaremos a validação)
SobrescritaMetodo12345@OverrideprotectedPeriod validateCreateImpl(EntidadeBancoDados model) {// Aplicar regras de negócioreturnsuper.validateCreateImpl(model);}Chamar normalmente o método e através do delegate o método especifico será acionado

