Skip to content

Quando Domain Model demonstrou seus benefícios

fevereiro 12, 2010

Há um bom tempo tenho me dedicado à desenvolver projetos OO usando um modelo de dominio rico. Depois de ler n vezes o livro de Martin Fowler Patterns of Enterprise Application Architecture, estive disposto a dar início a essa nova fase, um dos motivos principais era consumir os fortes benefícios de uma linguagem OO.

No último projeto no qual estava responsável , resolvi avançar com um domain model mais rico junto com minha equipe, parecia que era o projeto ideal para isso, pois o mesmo tinha como seu domínio boas regras de negócio onde envolvia finanças e gestão de projetos desenvolvidos para todo um país. Devo adimitir que foi um dos projetos mais divertidos que eu passei, muita regra. ( diversão garantida! :) ).

Um dos problemas que apareceram quando estava desenvolvendo o projeto foi o uso dos domain objects na camada de apresentação, pois muito dos comportamentos dependia de parametros em que era vindo de um estado periodico, entre outras necessidades, foi então que resolvi isolar meus objetos de dominio da interface. Criando assim beans ( sim, os getters e setters ) para ela e mantendo os contratos de meu domain model. Em exceção aos Values Objects nos quais seu estado era simples o suficiente para se manter com referência nos beans da interface. Esse pequeno custo adicional em manter beans para a camada de apresentação logo se mostrou proveitoso, foi quando percebemos que muita das regras de negócio em que boa parte do sistema usava já estava desenvolvida e de fácil reutilização, sua manutenção se mostrou fácil e clara, a lingaugem de dominio se mostrou util quando o BA nos reportavam novos requisitos ou alterações do mesmo.

Os benéficios ficaram claro para a equipe e esperamos melhorar mais com a experiência absorvida nesse projeto. ter um modelo de dominio rico nos fez perceber o quanto é valioso uma linguagem Orientada a Objeto e o tão util são os padrões de projetos.  Agora entendo quando Martin Fowler disse que quando você começa a desenvolver aplicando Domain Model fica difícil voltar a desenvolver diferente. :)

About these ads

From → Arquitetura, Java

3 Comentários
  1. Excelente post, Everton.

    A utilização de Local DTOs (http://martinfowler.com/bliki/LocalDTO.html) é um prática recomendada pelo próprio Fowler em cenários semelhantes ao seu, ou seja, quando há uma diferença notória entre modelo de domínio e o modelo na camada de apresentação.

    Enfim, assim como o Fowler e você, eu também concordo: depois que se começa a trabalhar com modelo rico fica bem mais dificil e frustrante voltar a trabalhar com um modelo anemico.

    Um abraço e parabéns.

  2. Everton, gostei de ver!
    Realmente você está fazendo o dever de casa e deixando de ser lambão.

    Abraço e sucesso!

  3. Danilo Souza permalink

    É isso ai boss gostei do post!

    Espero participa de mais projetos assim e aprender bem mais.

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

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

%d blogueiros gostam disto: