Só foi possível fazer DDD recentemente?  XML
Índice dos Fóruns » Metodologias de Desenvolvimento e Testes de Software
Autor Mensagem
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

Lendo o blog do Sergio Taborda me deparei com uma frase:

A tecnologia subjacente pode interceptar chamadas a eles [os Serviços] e injetar capacidades de transação, controle de concorrência, segurança, logging, invocação remota, acoplamento com tencologias e protocolos especificos como CORBA ou SOAP - o que for necessário. O dominio é livre. Não depende de tecnologias, não depende de API, é portável e independente. Não está amarrado a nada nem a ninguém. Não mais DAOs para comunicar com o Banco de Dados. O rei vai nu.


Considerando que o domínio não depende de ninguém, que trabalha somente com suas classes e nada mais, porém que ainda temos que lidar com os dados que vem de alguma forma do usuário e geralmente persisti-los em algum lugar, e ao mesmo tempo deixar isso imperceptível para quem trabalha com as classes do domínio, pergunto:

Era possível fazer isso até, digamos, 5 anos atrás? É possível fazer DDD puro com tecnologia antiga? É possível fazê-lo sem injeções de dependências?

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
ricardolecheta
GUJ Master
[Avatar]

Membro desde: 17/05/2003 13:42:10
Mensagens: 1486
Localização: Curitiba
Offline

bom para fazer esta separação vc precisa usar o conteito de interface.. por exemplo se quiser que seu domínio não conheça absolutamente nada de quem implementa o repositorio...

então a resposta é sim.. vc de alguma forma antigamente ia criar uma classe que implementa alguma interface, talvez usando o padrão factory... injeção de dependências é só a forma moderninha...

por exemplo vc coloca um @MinhaClasseAqui ou @MeuEJBAqui e bingo..

This message was edited 2 times. Last update was at 01/11/2008 17:39:00


Ricardo R. Lecheta
Livro - Google Android (português)
http://www.livroandroid.com.br/
http://livroandroid.blogspot.com/
http://www.livetouch.com.br/
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline

Bruno Laturner wrote:Lendo o blog do Sergio Taborda me deparei com uma frase:

A tecnologia subjacente pode interceptar chamadas a eles [os Serviços] e injetar capacidades de transação, controle de concorrência, segurança, logging, invocação remota, acoplamento com tencologias e protocolos especificos como CORBA ou SOAP - o que for necessário. O dominio é livre. Não depende de tecnologias, não depende de API, é portável e independente. Não está amarrado a nada nem a ninguém. Não mais DAOs para comunicar com o Banco de Dados. O rei vai nu.


Considerando que o domínio não depende de ninguém, que trabalha somente com suas classes e nada mais, porém que ainda temos que lidar com os dados que vem de alguma forma do usuário e geralmente persisti-los em algum lugar, e ao mesmo tempo deixar isso imperceptível para quem trabalha com as classes do domínio, pergunto:

Era possível fazer isso até, digamos, 5 anos atrás? É possível fazer DDD puro com tecnologia antiga? É possível fazê-lo sem injeções de dependências?


Bom, já que fui citado... so quero esclarecer que nem o artigo nem o problema em foco é DDD. DDD é uma filosofia particular que assenta em Orientação a Objetos e no conceito de Dominio, mas que que lhe acrescenta outras coisas e visa simplificar a comunicação entre tem que desenvolver e quem tem o conhecimento das regras. "Fazer DDD" não faz sentido. Como toda a filosofia ou se segue, ou não. Seguir DDD só é possivel depois que o DDD foi definido, é como torcer para um clube. Só pode torcer depois que o clube existe.

Orientação a Objetos e Dominio são concietos antigos, logo sim seria possivel à 5 anos.
Tlv não acredite quando lhe disse isto, mas EJB é uma tecnologia orientada a dominio e tem mais de 5 anos.

O ponto não é se é possivel, mas se seria possivel com a mesma simplicidade que é hoje. O proprio EJB mostra que a simplicidade foi ganha com o tempo, mas isso poderiamos atribuir a um exagero no design original do EJB.

Acho que os avanços na metalinguagem do java e outras linguagens OO foram os que reais motivadores para a volta ao paradigma de pensar primeiro no dominio e depois no resto. È que o domino não são classes, as classes são as representações do dominio. O dominio é abstrato. Os metadados das classes são mais proximo do nivel de abstração do dominio e por isso, quanto a mim, que quanto mais a metalinguagem (reflection, annotations, etc...) evolui mais facil é construir um modelo e implementação do dominio.

Esse resto da aplicação é normalmente muito igual - cheia de requisitos não-funcioanis - e até por isso existem um bando de frameworks para auxiliar e aumentar a produtividade e o dominio pode brilhar de novo.

Enfim. OO e boa OO sempre foi possivel.

Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
Marcio Duran
GUJ Master
[Avatar]

Membro desde: 23/01/2008 11:14:35
Mensagens: 1905
Offline

sergiotaborda wrote: (.............)..............................
Acho que os avanços na metalinguagem do java e outras linguagens OO foram os que reais motivadores para a volta ao paradigma de pensar primeiro no dominio e depois no resto. È que o domino não são classes, as classes são as representações do dominio. O dominio é abstrato. Os ...........

"Java incorporou novas features, metalinguagem é um proposito de aspecto e quebra o paradigma da Orientação a Objetos, indo para uma POA"

A programação orientada a aspectos tem como objetivo a separação do código segundo a sua importância para a aplicação, permitindo que o programador encapsule o código secundário em módulos separados do restante da aplicação.

This message was edited 3 times. Last update was at 03/11/2008 08:53:34


Consultor Open Source
Comunidade JavaLivros
Twitter Comunidade JavaLivros
Novo Blog do MiddleHeaven
[WWW]
 
Índice dos Fóruns » Metodologias de Desenvolvimento e Testes de Software
Ir para:   
Powered by JForum 2.1.8 © JForum Team