Specification Pattern no Domain Driven Design

O domínio da aplicação deve ser sempre preservado, de modo que mudanças não o alterem e não impacte em testes. O artigo dá exemplos práticos de como pode-se utilizar esse padrão para leis, normas etc, especialmente aplicável em estruturas que precisam funcionar em conformidade. Definitivamente o padrão de especificações é muito flexível e uma boa prática.

Factory no Domain Driven Design

Factory no Domain Driven Design (DDD)

A Factory do Domain Driven Design (DDD) é um padrão tático que pode ser utilizado de modos diferentes, com o objetivo de facilitar a geração de novos agregados. Lembre-se que a instância de objetos tem que ser fácil, mas isso nem sempre é aplicado desse modo nos códigos que vemos no dia-a-dia.

Domain Driven Design tático

Os 7 padrões do DDD Tático

O DDD pode ser observado por dois grandes pontos de vista: o estratégico e o tático. O DDD estratégico oferece elementos conceituais robustos que ligam a estruturação do software com as características particulares do negócio. Já o Domain Driven Design tático dá meios para que implementações reais, independentes de linguagem de programação, consigam garantir a entrega das necessidades estratégicas. Muitos veem o DDD apenas do ponto de vista tático – com seu conjunto de Patterns – mas entenda que somente esse ponto sem a estratégia há um empobrecimento de seu uso e, de certo modo, destrói-se a implementação do DDD. Veja nesse artigo os 7 padrões do DDD tático e como eles podem ser utilizados.

Domain Driven Design estratégico

DDD - Domain Driven Design estratégico

Você também acha que usa DDD só porque tem pastinhas específicas organizando o código? Pensou errado!A estratégia da organização norteia tanto a estrutura corporativa (negócios existentes, modelos de negócio, fluxo de caixa, margens, etc.) quanto a própria estrutura do software, uma vez que ela tende a refletir tais características.Esse artigo vai da estratégia da organização até a estratégia associada ao DDD. Mas se seu objetivo é querer entender elementos como repository, agregações, value-objects ou mesmo estruturas de pastas comumente utilizadas em projetos desse tipo, entenda que esse artigo não entregará tais características. Pelo contrário, ele entregará os passos anteriores que fundamentam o uso do DDD numa empresa. Uma vez que entendo que esses elementos sem a estratégia não são DDD, mas tão somente nomes de pastas ou classes. De todo modo escreverei em algum momento um artigo sobre eles.