-
Notifications
You must be signed in to change notification settings - Fork 0
TG6
TG6 - Diagrama de Pacotes: O SGOMI em Camadas Esta página explica como o código do SGOMI está organizado. Em vez de um grande bloco confuso, nós o dividimos em Camadas (ou Pacotes), onde cada camada tem um trabalho específico e só fala com a camada diretamente abaixo dela.
1.Nossa Escolha: Arquitetura em Camadas Nós escolhemos a Arquitetura em Camadas (Layered Architecture) porque ela é a mais segura e estável para sistemas de negócio como o SGOMI.
O Grande Benefício: O princípio fundamental é a separação de tarefas. Se mexermos na interface (como a tela do Mecânico), não precisamos nos preocupar em quebrar as regras de negócio ou o banco de dados. Isso torna o sistema muito mais fácil de manter, testar e evoluir.
Aliado do TDD: Essa organização é perfeita para o Desenvolvimento Dirigido por Testes (TDD). Podemos testar a lógica central (a Camada de Domínio) isoladamente, sem precisar de telas ou conexões reais com o banco de dados.
2.Como Nossas Camadas Estão Organizadas O SGOMI possui quatro pacotes principais, que funcionam como uma escada. A seta de dependência sempre aponta para baixo: .
1.Camada de Apresentação (br.com.sgomi.apresentacao) O que faz: É o rosto do sistema. Lida com tudo que o usuário vê e toca.
Exemplos: O código do Portal do Cliente, a interface da API que recebe requisições do Mecânico.
Com quem fala: Apenas com a Camada de Aplicação/Serviços. Ela não tem permissão para acessar o banco de dados diretamente.
2.Camada de Aplicação/Serviços (br.com.sgomi.aplicacao) O que faz: É o maestro. Gerencia o fluxo da informação e coordena as ações. É aqui que vivem nossos Controladores GRASP.
Exemplos: O RegistroLancamentoControlador que coordena o lançamento de peças. Ele recebe o comando da tela e diz à Camada de Domínio o que fazer.
Com quem fala: Apenas com a Camada de Domínio/Negócio.
3.Camada de Domínio/Negócio (br.com.sgomi.dominio) O que faz: É o cérebro. Contém todas as Regras de Negócio (RNs) e o Modelo de Domínio (Classes OS, Estoque, etc.). É o coração do sistema.
Exemplos: Onde definimos que o Estoque não pode ser negativo ou como o ItemDeServico deve ser calculado. Os padrões Especialista em Informação e Criador vivem aqui.
Com quem fala: Apenas com a Camada de Infraestrutura/Persistência.
- Camada de Infraestrutura/Persistência (br.com.sgomi.infra) O que faz: Lida com a técnica suja. É responsável por salvar e buscar dados.
Exemplos: Contém os Repositórios (como o OSRepository, que sabe como se conectar ao SGBD) e o código para falar com serviços externos, como o Gateway de Pagamentos.
Com quem fala: Com o mundo externo (Banco de Dados, APIs de terceiros). Nenhuma camada depende dela.