Projeto Orientado a Domínio em PHP
400 páginas
Portuguese
PDF
4.5

Projeto Orientado a Domínio em PHP

Projeto Orientado a Domínio em PHP

Autor:

Ano:

Resumo:

Introdução

O livro «Domain-Driven Design in PHP» (autores: Carlos Buenosvinos, Christian Soronellas, Keyvan Akbary, 2017, 400 páginas) — não é apenas mais um guia de PHP, mas um mergulho profundo na metodologia de projeto orientado a domínio (DDD) aplicada ao desenvolvimento web em PHP. Diferente dos livros clássicos de Eric Evans ou Vaughn Vernon, que descrevem DDD em termos abstratos, esta obra oferece padrões concretos e prontos para uso, com exemplos de código em PHP. É direcionada a desenvolvedores que já conhecem os fundamentos do PHP e desejam avançar para o próximo nível — a criação de aplicações de negócio complexas, sustentáveis e escaláveis.

Sobre o que é este livro?

O livro aborda sequencialmente todos os conceitos-chave do DDD: desde os blocos de construção básicos (Entity, Value Object, Aggregate, Repository, Domain Service) até técnicas avançadas como CQRS (Command Query Responsibility Segregation) e Event Sourcing. Cada capítulo contém não apenas explicações teóricas, mas também exemplos práticos em PHP que podem ser aplicados imediatamente em projetos reais. Atenção especial é dada à organização do código, trabalho com Doctrine ORM, integração com Symfony e Laravel, além de testes da lógica de domínio.

Principais tópicos do livro:

  • Blocos de construção do DDD: Entity, Value Object, Aggregate, Repository, Factory, Domain Event.
  • Modelagem do domínio: como identificar contextos delimitados (Bounded Context) e construir uma linguagem ubíqua (Ubiquitous Language).
  • Infraestrutura: implementação de repositórios com Doctrine, trabalho com transações, Unit of Work.
  • Padrões avançados: CQRS, Event Sourcing, Application Services, Domain Services.
  • Testes: testes unitários de objetos de domínio, testes de integração de repositórios, testes de comandos e eventos.
  • Integração com frameworks: exemplos para Symfony e Laravel, configuração de Dependency Injection, configuração.

Para quem é este livro?

O livro será útil para:

  • Desenvolvedores PHP de nível intermediário e sênior que desejam aprender DDD e aplicá-lo em seus projetos.
  • Arquitetos e líderes técnicos que projetam sistemas de negócio complexos e buscam maneiras de combater o "grande novelo de lama" (Big Ball of Mud).
  • Desenvolvedores em transição do estilo procedural ou MVC para um design de domínio mais significativo.
  • Todos que já leram Evans ou Vernon, mas querem ver como essas ideias são implementadas em PHP usando ferramentas modernas (Composer, Doctrine, Symfony).

O que o leitor aprenderá?

Ao ler o livro, o leitor será capaz de:

  • Distinguir claramente Entity de Value Object e entender quando usar cada um.
  • Projetar agregados com limites de consistência adequados.
  • Implementar repositórios que ocultam detalhes de armazenamento de dados.
  • Aplicar Domain Events para baixo acoplamento entre módulos.
  • Implementar CQRS para separar comandos e consultas, simplificando a escalabilidade.
  • Usar Event Sourcing para auditoria completa de mudanças de estado.
  • Escrever testes que verificam exatamente as regras de negócio, e não a infraestrutura.
  • Integrar a abordagem DDD com frameworks PHP populares.

Pontos fortes do livro

A principal vantagem do livro é sua abordagem prática. Os autores não apenas recontam a teoria, mas mostram exatamente como escrever o código. Todos os exemplos são relevantes para versões modernas do PHP (7.x), utilizam autoload do Composer, tipagem, traits e outros recursos da linguagem. O livro contém muitos trechos de código que podem ser copiados e adaptados para seu projeto. Vale destacar especialmente os capítulos sobre CQRS e Event Sourcing — eles são escritos de forma tão acessível que até um iniciante nesses tópicos conseguirá compreender.

Recommendations