Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • Apresentação: Fornece a interface com o usuário e usa a camada de aplicação para interagir com o usuário. A solução da TOTVS para esta camada é o TOTVS HTML Framework (THF).
  • Aplicação: Faz a mediação entre as camadas de Apresentação e Domínio. Orquestra as regras de negócio e tarefas da aplicação.
  • Domínio: Inclui os objetos de negócio e suas regras. É o coração da aplicação.
  • Infraestrutura: Fornece as capacidades técnicas necessárias pelas camadas acima. Em exemplo é a implementação de um repositório utilizado para interagir com o banco de dados através de um ORM ou uma implementação de um provedor de envio de e-mails.
  • Cross-cutting: Essa camada prove uma infraestrutura unica as demais camadas, podendo ter funcionalidades de log, auditoria, etc. Essas funcionalidades são compartilhadas a nível de sistema como um todo.

TOTVS .NET Framework

Visão geral das estruturas e camadas:

...


Uma camada pode ser implementada em um ou mais assemblies. Também podem existir contextos de negócio onde cada um pode ter as suas próprias camadas.

Camada de Aplicação

Esta camada contém os serviços que são utilizados pela camada de apresentação. Um serviço desta camada pode receber um DTO (Data Transfer Object) como entrada, utilizá-lo para executar alguma operação da camada de domínio e retornar outro DTO, se necessário. Ela não deve receber ou retornar entidades. Validação da entrada de usuário é implementada nesta camada.

Camada de Domínio

Na camada de domínio é onde todas as regras de negócio devem ser implementadas.

...

Esta camada deve ser independente de bibliotecas de terceiros ao máximo possível.

Camada de Aplicação

Esta camada contém os serviços que são utilizados pela camada de apresentação. Um serviço desta camada pode receber um DTO (Data Transfer Object) como entrada, utilizá-lo para executar alguma operação da camada de domínio e retornar outro DTO, se necessário. Ela não deve receber ou retornar entidades. Validação da entrada de usuário é implementada nesta camada. É recomendado o uso de uma ferramenta de mapeamento para mapear entidades para DTOs.

Camada de Infraestrutura

Enquanto a camada de domínio define os contratos para repositórios, unidade de trabalho e outros serviços, a camada de infraestrutura implementa esses contratos. Ela implementa os repositórios utilizando ferramentas de ORM como EntityFramework. O TNF fornece classes base para trabalhar com o EntityFramework Core. Esta camada é utilizada para abstrair as dependencias dependências com bibliotecas de terceiros das outras camadas.

Outras

O TNF usa e suporta Injeção de Dependência. Ele também fornece log e outros componentes reutilizáveis.