livro Domain-Driven Design Quickly
Publicado: 15/08/2013 Filed under: principal Deixe um comentárioComo o livro original, Domain-Driven Design: Tackling Complexity in the Heart of Software, é considerado por muitas pessoas que admiro um must-read, resolvi lê-lo. Não consegui ir até o fim. Tentei por quatro vezes, na última vez fui até a metade, mas achei o livro muito cansativo, prolixo. Pode ser que meu nível de inglês tenha contribuído, apesar de algumas pessoas com inglês mais avançado terem me reclamado da mesma coisa. Decidi não recorrer à versão em português pelo motivo de sempre: em geral, as traduções na nossa área não são boas. Ainda mais em cima de um tema relativamente novo, como DDD.
No último Agile Brazil, em conversa com alguns amigos, relatei minha ‘insatisfação’ com o livro; muitos concordaram. Um deles, o Juan Bernabó, me recomendou um livro sobre o mesma tema, mais resumido, mais objetivo: Domain-Driven Design Quickly. Como podem ver, o livro pode ser baixado gratuitamente.
Li, e recomendo. Com um porém: acredito que certas partes não ficam bem explicadas, precisando recorrer eventualmente ao livro original. Ou seja, minha sugestão para quem quer ter um contato inicial com DDD: leia o DDD Quickly e, quando sentir necessidade, recorra ao livro original.
DDD talvez não traga nenhum conceito muito original, mas sua abordagem representa um novo ponto de vista que traz um frescor a alguns temas. A Ubiquitous Language amplia o conceito de nomes expressivos, reforçando o mapeamento do domínio com o código. As diferenças entre Entity, Value Object e Service são aprofundadas. Os conceitos de Agregate e Repository são explorados de tal forma que nunca vi em outro lugar.
A parte final do livro, que trata de conceitos como Bounded Context, Context Map e Anticorruption Layer, só li no DDD Quickly, sem recorrer ao livro original. É superficial, carece de exemplos, mas talvez o livro original tenha um boa complementação. Não me interessei muito, pelo menos no momento.
DDD é na minha opinião um conceito must-know. É consenso que ter um domain model isolado é uma boa prática de desenho de código. DDD talvez seja a disciplina que melhor reúnes os conceitos necessários para atingir esse objetivo.
