¦ M ! L Є S i • B Λ S Γ Ø S ¦

Learning and Coolness – Beyond Code

Arquitetura Orientada ao Modelo do Domínio

com um comentário

Em seu trabalho, (Evans, 2003) observa que qualquer domínio pode ser expresso em vários modelos e qualquer modelo pode ser codificado de várias maneiras. Dentre essas maneiras, temos que considerar os princípios de arquitetura de software, como vamos abordar a transição do modelo para o código e como essa arquitetura poderá evoluir durante o processo de desenvolvimento.

Também, (Avram, et al., 2006) destacam ainda que um modelo correto pode não ser expresso em código ou acabar quebrando algum princípio de arquitetura de software. Diante disso, é preciso definir um modelo que seja fácil e precisamente codificado.

A questão fundamental aqui é: como vamos abordar a transição do modelo para o código?

Vale ressaltar que um dos principais problemas das arquiteturas é que os arquitetos não conseguem prever todos os possíveis cenários e detalhes de um domínio. Detalhes muito importantes são descobertos durante a implementação e um modelo válido para o domínio poderá apresentar sérios problemas com a persistência ou mesmo um desempenho inaceitável entre outros.

Sendo assim, a arquitetura deve evoluir durante o processo ou os desenvolvedores serão obrigados a tomar algumas decisões por conta própria, fazendo alterações na arquitetura a fim de resolver problemas reais que não foram considerados quando o modelo foi criado.

Dessa forma, (Evans, 2003) sugere que para manter a consistência entre o modelo e sua implementação são necessárias ferramentas de desenvolvimento e linguagens que suportem o paradigma de modelagem que está sendo proposto.

Diante disso, a programação orienta a objetos é adequada para a implementação do modelo de domínio porque ambos são baseados no mesmo paradigma fornecendo classes de objetos, associações e troca de mensagens entre eles, mapeando diretamente os objetos do modelo.

Referências:


Evans, Eric. 2003. Domain-Driven Design: Tackling Complexity in the Heart of Software. Boston : Addison-Wesley Professional, 2003.
Avram, Abel and Marinescu, Floyd. 2006. Domain-Driven Design Quickly. 2006.

Escrito por Antônio Milesi Bastos

18/novembro/2010 às 09:09

Publicado em Planejando a Arquitetura

Etiquetado com ,

Uma resposta

Assinar os comentários com RSS.

  1. Fala amigão!!
    Sobre “A questão fundamental aqui é: como vamos abordar a transição do modelo para o código?”
    Vou arriscar uma opnião, mas de longe responder de forma com definição final: Defendo que uma boa resposta está na construção de estruturas básicas que muitos programadores desconhecem ou mal-conhecem, tipo, Arquitetura de Computadores, Compiladores e até mesmo o mal-falado modelo OSI. A forma como são construídas essas arqutieturas é Domain-Driven na veia. Tem gente, e até mesmo professores que acham isso um conhecimento desnecessário, muitos alunos acham que nunca vão escrever um compilador na vida e não conseguem ver praticabilidade – eu diria: “ah se minha DSL falasse”

    Eric Evans fez um bom trabalho em colocar a ciência da computação de uma forma mais prática. Tem um amigo que diz que a “ciência da computação está mais para arte do que para engenharia”….

    Eduardo Xavier

    22/novembro/2010 em 08:41


Deixe uma resposta

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

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.