DDD - Cicatrizes de guerra
-
Upload
fabricio-rissetto -
Category
Software
-
view
68 -
download
3
Transcript of DDD - Cicatrizes de guerra
DDD - CICATRIZES DE GUERRA
Fabrício Rissetto
CONTEXTO DO PROBLEMA
Diversos sistemas legados acessando diretamente uma única base
CONTEXTO DO PROBLEMAProcedures
9000+Tabelas
2000
+ Views, Functions
CONTEXTO DO PROBLEMARegras de negócio no banco de dados
SOLUÇÃO Criar uma aplicação para
centralizar essas regras expondo dados via Web API
Mapeamento das tabelas usando EF
SDK Muitos testes unitários!
LET’S DO THIS
ENTITY FRAMEWORK
DOMAIN MODEL VS PERSISTENCE MODEL Domain Model:
Private Set!
Construtor evidenciando
regras de inicialização
Construtor pro que faz
sentidoConstrutor pro que faz
sentido
Métodos que revelam
intenção e encapsulam
regras de negócio
DOMAIN MODEL VS PERSISTENCE MODEL Persistence Model:
Fluent Mapping:
DOMAIN MODEL VS PERSISTENCE MODEL Dois em um:
DOMAIN MODEL VS PERSISTENCE MODEL Juntas Vantagens:
Boost no desenvolvimento Desvantagens:
Quanto maior a diferença maior a dificuldade
Medo de refactorings
Separadas Vantagens:
Liberdade para modelar o domínio Prontos para Bounded Contexts
Desvantagens: Maior esforço em conversões Perda das vantagens de utilizar
ORM
Dapper.NET!
BOUNDED CONTEXTS
BOUNDED CONTEXTS
CQRS
CQRSE pra popular um dropdown?
CQRS
BOUNDED CONTEXTS EM MICROSERVICES
WS
THOUGHTSDDD não é bala de prata
SmartUI as vezes é mais adequado Domínio simples (crud intensive) Equipe inexperiente Foco é o prazo
Avaliar uso de ORMAvaliar separação Command/Query
CONTATOE-mail: [email protected]: fabriciorissetto.comObrigado!