Domain-Driven Design é uma furada?  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
Leonardo3001
GUJ Ranger

Membro desde: 04/07/2007 18:28:58
Mensagens: 975
Offline

Já ouvi falar desse tal de DDD (Domain-Driven Design), inclusive de gente daqui do fórum, e achei a idéia bastante interessante.

Porém, no blog In Relation To, pelo menos nos últimos cinco posts (http://in.relation.to/Bloggers/SilliestPersistencePostEver , http://in.relation.to/Bloggers/WhatMethodsBelongOnAnEntity , http://in.relation.to/Bloggers/RepositoryPatternVsTransparentPersistence , http://in.relation.to/Bloggers/OnReligionWhyImAnIgnorantCProgrammerAndDontKnowWhatAnObjectIs , http://in.relation.to/Bloggers/StillConfusedAboutRepositories), Gavin King e companhia fazem críticas a essa arquitetura.

Aí fiquei na dúvida, será que DDD é tão bom assim?


Leonardo Veríssimo
-------------------------------------------------
Objectzilla
[WWW]
Dennys
JavaEvangelist

Membro desde: 06/04/2003 15:28:35
Mensagens: 399
Localização: Taboão da Serra
Offline

Leonardo3001 wrote:Já ouvi falar desse tal de DDD (Domain-Driven Design), inclusive de gente daqui do fórum, e achei a idéia bastante interessante.

Porém, no blog In Relation To, pelo menos nos últimos cinco posts (http://in.relation.to/Bloggers/SilliestPersistencePostEver , http://in.relation.to/Bloggers/WhatMethodsBelongOnAnEntity , http://in.relation.to/Bloggers/RepositoryPatternVsTransparentPersistence , http://in.relation.to/Bloggers/OnReligionWhyImAnIgnorantCProgrammerAndDontKnowWhatAnObjectIs , http://in.relation.to/Bloggers/StillConfusedAboutRepositories), Gavin King e companhia fazem críticas a essa arquitetura.

Aí fiquei na dúvida, será que DDD é tão bom assim?




Hummm acho que isso vai dar uma boa "agitada" no forum.... ....

Vou ver a resposta da galera!!!


Bom post!
[MSN] [ICQ]
abstract
JavaTeenager
[Avatar]
Membro desde: 11/10/2004 04:23:26
Mensagens: 172
Offline

Antes de responder a sua dúvida. Já leu o livro do Evans == Domain Driven Design? Se não leu, seria bom.

[ ]'s Bruno

"O descanso é coisa boa ....para os mortos." - T. Carlyle
-
http://abstractj.com
----------------------------------------------------
Volenti Nihil Dificille
----------------------------------------------------
[WWW] [MSN]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

O problema do Bauer é que ele não entendeu repositórios (o outro post não fala exatamente sobre DDD mas é apenas uma crítica ao Uncle Bob, pelo que lembro). Basta ver como ele refuta grosseiramente os argumentos contrários à sua idéia.


Quem frequenta o forum do Hibernate ou este blog há algum tempo sabe que não entender algo nunca foi pré-requisito para criticar

This message was edited 1 time. Last update was at 13/11/2007 00:21:07


Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

Comprei este livro em Janeiro de 2005 e ainda não li.
Shame on me!

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
Leonardo3001
GUJ Ranger

Membro desde: 04/07/2007 18:28:58
Mensagens: 975
Offline

abstract wrote:Antes de responder a sua dúvida. Já leu o livro do Evans == Domain Driven Design? Se não leu, seria bom.


Esse livro é bom? Ou tem algo mais "Head First"? Só há algum tempo eu ouvi falar de DDD, e eu gostaria de ler algum livro sobre o tema.

Leonardo Veríssimo
-------------------------------------------------
Objectzilla
[WWW]
Ferryman
JavaGuru
[Avatar]

Membro desde: 26/10/2006 16:30:23
Mensagens: 220
Offline

Eai pessoal

Se DDD é uma furada, então OO também é... na minha concepção DDD que é OO "de verdade".
O pior é que é tão dificil fazer os desenvolvedores (e até arquitetos) entenderem isso... o pessoal acha que porque usa java esta programando OO, mas na maioria dos casos parece que existe uma barreira na mente das pessoas que diz:
* Entity não pode ter lógica
* Separe sua lógica em serviços que manipulam os entitys

Já vi bastante arquitetura que acredita ser OO apenas porque os entitys usam herança, polimorfismo, etc, porem a logica é implementada em serviços separados.

Eu vivo comentando que ejb3 não eliminou a necessidade da DI do Spring por não fazer DI em entity... e alguns me respondem que se pretendo injetar alguma coisa nos entitys então tem algo errado com o design... e por aí vai...

Agora DDD não é bala de prata... é preciso analisar quando vale a pena utilizar. As vezes um transactionScript pode resolver seu problema muito mais rápido (dependendo da complexidade).

Para tudo há prós e contras... não podemos generalizar e dizer que DDD ou TransactionScript é furada. Tudo depende do contexto.

Bom é isso que eu acho.

Abraço a todos

Ferry


Rafael Farias Silva (@rafaferry)

Jsigner - Engenharia reversa automática através do maven. Acesse http://code.google.com/p/jsigner
[Email] [WWW]
rodrigoy
GUJ Ranger
[Avatar]

Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline

Leonardo3001 wrote:
Esse livro é bom? Ou tem algo mais "Head First"? Só há algum tempo eu ouvi falar de DDD, e eu gostaria de ler algum livro sobre o tema.


Este é muito bom:

http://www.amazon.com/Applying-Domain-Driven-Design-Patterns-Examples/dp/0321268202

Apesar dos exemplos serem em .NET (C#), fala sobre o ciclo completo e também abrange muito sobre TDD. É uma oportunidade de aprender DDD, C# e TDD.

(dica do Shoes muito boa).

Rodrigo Y.

Rodrigo Yoshima
www.ASPERCOM.com.br

Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro

Débito Técnico Blog: blog.aspercom.com.br
[WWW]
leofernandesmo
JavaEvangelist
[Avatar]

Membro desde: 05/06/2006 10:27:10
Mensagens: 337
Localização: Rec->Mac
Offline

Leonardo3001 wrote:
abstract wrote:Antes de responder a sua dúvida. Já leu o livro do Evans == Domain Driven Design? Se não leu, seria bom.


Esse livro é bom? Ou tem algo mais "Head First"? Só há algum tempo eu ouvi falar de DDD, e eu gostaria de ler algum livro sobre o tema.


É a referência na área.


pcalcado wrote: Quem frequenta o forum do Hibernate ou este blog há algum tempo sabe que não entender algo nunca foi pré-requisito para criticar

Acho que agora bem que Eric Evans ou outro defensor (com nome) de DDD poderia escrever uma resposta. A algumas semanas Gaving King ficou P*to pq fizeram uma comparação do Hibernate com Active Record e o autor não usou algumas das novas features do Hibernate 3.

Posta alguma coisa no seu blog em inglês Shoes..e coloca la o endereço no trackback do blog do Bauer.

Blog: http://jroller.com/page/leofernandesmo
Msg: "Não adianta olhar pro céu com muita fé e pouca luta"
[Email] [MSN]
YvGa
Virtual Machine Man

Membro desde: 07/03/2007 15:58:16
Mensagens: 518
Offline

Clearly, I need to actually read the damn book for myself


Parei de ler nesse ponto.

Paulo Borio
YvGa
Virtual Machine Man

Membro desde: 07/03/2007 15:58:16
Mensagens: 518
Offline

O problema do DDD eh q eh visto por muitos como o calice sagrado, aquilo q contem toda a essencia das coisas.

Todo mundo pensa - assim com eu pensei - que ia comprar o livro, ler em uma ou duas semanas e depois ligar pro Evans e pro Fowler pra marcar uma cerveja e discutir o futuro do desenvolvimento de software. E nessa o neguinho quebra a cara.

DDD eh dificil pacas. Nao eh uma descricao de patterns (embora tenha alguns). Ele ensina a vc ficar atento a algumas coisas pra descobrir um design melhor, mas nao te ensina um design melhor pro teu problema (e nao teria como, afinal eh teu problema). Eh dificil, complexo e com exemplos q vc nao consegue facilmente transportar para o seu dia-a-dia. Vc tem q ler e reler e reler e aos poucos vc vai pegando uma coisa aqui e outra ali.

Pelo menos esta sendo assim comigo.

Mas mesmo assim é um livro indispensavel.

Paulo Borio
jonataswingeter
JavaBaby
[Avatar]

Membro desde: 20/11/2006 10:15:55
Mensagens: 90
Offline

DDD não é uma bala de prata.

DDD é voltar às origens da verdadeira Orientação a Objetos
que foi perdida durante os anos de difusão da arquitetura J2EE.

Tem momentos que o TS vai resolver...vai!

Tudo depende...mas a princípio, os desenvolvedores precisam
entender o que é de fato orientação a objetos e o DDD será uma
"luva".

Att.,

Jônatas Wingeter Rodrigues

"Tem coisas que só FP faz pra você. fat(0) -> 1; fat(N) -> N * fat(N-1)"
[ICQ]
Thiago Senna
GUJ Master
[Avatar]

Membro desde: 11/02/2005 08:08:02
Mensagens: 1595
Offline

E que Deus abençoe o DDD, o avanço natural do desenvolvimento OO.

A minha única crítica ao DDD é que acho ele pouco acessível. Incrível como coisas bizorrêscas como Entity Beans conseguiu se difundir tão rápido e contaminar a cabeça dos programadores enquanto DDD e princípios básicos de OO mal conseguem sair do lugar.

Se por um lado DDD é ótimo, por outro lado ler o livro do Evans demanda alguma certa paciência (ou QI, rsrs), tornando o processo de 're-aprendizagem' um tanto doloroso. Falta algum material mais mamão com açúcar. Algo que seja tão convincente quanto o material que convenceu a galera a abraçar os maleditos Entity Beans.

E aproveitando pra desabafar, não é por nada não. Acho que a galera do .Net neste assunto está bem na frente da galera do java, hehe. Essa sugestão de aprender C#, TDD e DDD pode ser uma boa.
[Email]
rodrigoy
GUJ Ranger
[Avatar]

Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline

Thiago Senna wrote:
E aproveitando pra desabafar, não é por nada não. Acho que a galera do .Net neste assunto está bem na frente da galera do java, hehe. Essa sugestão de aprender C#, TDD e DDD pode ser uma boa.


Thiago, cara, desculpe, mas isso que você falou é um completo absurdo. Não conheço todos os programadores .Net, mas estou no mercado, tenho muito contato muito grande com os alunos e não vejo a comunidade .Net, pelo menos aqui no Brasil, buscar DDD.

Não vejo a Microsoft defender o uso de DDD para .Net, simplesmente pelo fato dela não fornecer ferramentas que facilitem DDD na plataforma (não que não seja possível).

[adicionado] Digo isso porque a comunidade .NET aqui no Brasil ainda está na barra da saia da Microsoft, mas não todos [/adicionado]

This message was edited 1 time. Last update was at 14/11/2007 15:07:45


Rodrigo Yoshima
www.ASPERCOM.com.br

Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro

Débito Técnico Blog: blog.aspercom.com.br
[WWW]
Thiago Senna
GUJ Master
[Avatar]

Membro desde: 11/02/2005 08:08:02
Mensagens: 1595
Offline

Rodrigo,

acontece que sempre que tentei buscar algo mais a fundo sobre Domain Driven Design sempre encontrei exemplos em .Net. Raramente encontro algo em java.

Em .Net por exemplo já são dois os livros que abordam DDD com C#:
http://www.domaindrivendesign.org/books/index.html#DDD_apply
http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470147563.html

Quando pesquisei mais a fundo sobre o Specification Pattern encontrei bons exemplos em .Net também:
http://blogs.interknowlogy.com/timmccarthy/archive/2007/01/22/10863.aspx

To super curioso para saber o conteúdo desta palestra:
http://jimmynilsson.com/blog/posts/jaoo2007.htm
http://jaoo.dk/presentation/LINQ+for+Domain+Driven+Design+(DDD)

Este grupo também é bem frequentado por programadores .Net (tem bastante programador java também)
http://tech.groups.yahoo.com/group/domaindrivendesign/


Não sei como os desenvolvedores .Net aqui no Brasil vêem o DDD, mas lá fora tem uma turminha da pesada interessada no assunto, pelo menos, é o que parece.

Quanto a Microsoft dar suporte a DDD, acho que isso ainda não rola. Talvez o DDD seja um vocabulário de alguns bons programadores .Net que geram conteúdo sobre o assunto.
[Email]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team