Camadas de aplicação e domínio no DDD

12/05/2010 at 14:44 Deixe um comentário

Recentemente baixei o aplicativo de exemplo para implementação de DDD do site Domain-Driven Design Community. Como o aplicativo foi escrito em Java e eu não tenho nenhuma IDE que suporte essa linguagem, me contentei em ler algumas páginas HTML com comentários sobre o aplicativo. Gostei das páginas que falavam sobre as camadas de aplicação e domínio. Tem ótimas definições sobre essas camadas.

Abaixo vou transcrever esses comentários, primeiro em inglês e depois em uma tradução livre de minha autoria:

Aplicação:

Original: “This is the application layer: code that’s needed for the application to performs its tasks. It defines, or is defined by, use cases.
It is thin in terms of knowledge of domain business logic, although it may be large in terms of lines of code. It coordinates the domain layer objects to perform the actual tasks.
This layer is suitable for spanning transactions, security checks and high-level logging.

Trandução: “Camada de aplicação: contêm o código necessário para a aplicação executar uma determinada tarefa. Define ou é definido pelos casos de uso.
É uma camada fina em termos de conhecimento da lógica de domínio do negócio, embora ela pode ser grande em termos de linhas de código. Coordena os objetos da camada de domínio para executar a tarefa atual.
Esta camada é mais apropriada para abordar as transações, checagens de segurança e auditoria.”

Domínio:

Original: “The domain model, services and repository interfaces. This is the central part of the application. The ubiquitous language is used in classes, interfaces and method signatures, and every concept in here is familiar to a expert in the cargo shiping domain.
There is no infrastructure or user interface related code here, except for things like transactional and security metadata which is likely to be relevant to a domain expert.

Tradução: “Modelo do domínio, serviços e interfaces dos repositórios. Esta é a parte central do aplicativo. A linguagem obiqua é usada nessas classes, interfaces e assinaturas dos métodos,  e todo conceito dentro dessa camada é familiar para o especialista no domínio de transporte de cargas.

Não existe código da infraestrutura ou interface do usuário relacionada aqui, exceto para coisas como transação e informações de segurança os quais, provavelmente, são relevantes para o especialista do domínio”

Modelo do domínio:

Original: “This is the heart of the application. Each aggregate is contained in its own subpackage, along with the repository interface, factories and exceptions where applicable.

Tradução: “Este é o coração do aplicativo. Cada agregação está contida em seu respectivo módulo, junto com a interface do repositório, factories e exceções quando aplicável.”

Serviços do domínio:

Original: “Those services that may be implemented purely using the domain layer have their implementations here, other implementations may be part of the aplication or infrastructure layers.”

Tradução: “Estes serviços podem ser implementados na camada de domínio ou ter a sua implementação como parte das camadas de aplicação e infraestrutura.”

Fonte: http://dddsample.sourceforge.net/

[]’s
Eduardo Ernandes da Silva
Arquiteto de Sistemas

Anúncios

Entry filed under: Arquitetura de software, Domain-Driven Design. Tags: , .

Scrum e XP direto das Trincheiras Padrões Estruturais para Mapeamento Objeto-Relacional

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Arquivos

Feeds

Calendário

maio 2010
D S T Q Q S S
« abr   jun »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

%d blogueiros gostam disto: