Skip to content
peehs2004 edited this page Nov 23, 2025 · 1 revision

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.

  1. 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.

image

Clone this wiki locally