Giovanni Bassi       giggio@giggio.net    www.lambda3.com.br    blog.lambda3.com.br1
@GiovanniBassi                 5
Status atualSeparando a  consulta         Cenário       colaborativoSeparando um pouco mais      OportunidadesMudanças nam...
Interface gráfica    View  Controller    Serviços      Infra
Representantes          ORM
Representantes
RepresentantesRepositório ordena??
Representante   Total de   Número de   % sobre a   Gerente                vendas     clientes    metaDarth Vader     50.00...
ConsultaRepresentantes Alteração
Consulta deRepresentantes          SQL                 Represen                  tantes
Consulta deRepresentantes        ORM                 Represen                  tantes
Sistema
Interface gráficaCache       View          Controller            Serviços              Infra
Palestra de Cache Distribuído com oDaibert em seguida!
http://en.wikipedia.org/wiki/ACID
http://en.wikipedia.org/wiki/Eventual_consistency
http://bit.ly/captheorem
Consulta deRepresentantes SQL (em  bancoespecífico)                 Represen                  tantes
Banco de Consulta de                 ConsultaRepresentantes                  Banco de                 TransaçõesRepresenta...
Banco de        Consulta Consulta deRepresentantes                   Consulta                    Banco de        ComandoRe...
Banco de                  Consulta Consulta deRepresentantes Representantes                    Banco de                   ...
Banco de                  Consulta Consulta deRepresentantes Representantes                     Banco de                  ...
Banco de                  Consulta Consulta deRepresentantes Representantes                     Banco de                  ...
Banco de                  Consulta Consulta deRepresentantes Representantes                     Banco de                  ...
ClienteNome              ClienteEmail             AtualizarDados(nome, email)EhEspecial        DarDesconto(percentual)Faix...
Cliente                       AtualizarDados(nome, email)                       DarDesconto(percentual)                   ...
Cliente                    AtualizarDados(nome, email)                    DarDesconto(percentual)                    Torna...
duplicação de dados: ok            Rollback!denormalização: okdados na última camada: okatomicidade: desnecessáriaconsistê...
Obrigado!              Giovanni Bassi          giggio@giggio.net      www.lambda3.com.br       blog.lambda3.com.br
Giovanni Bassi    giggio@giggio.netwww.lambda3.com.br blog.lambda3.com.br
06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD
06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD
06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD
06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD
06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD
06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD
06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD
06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD
06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD
06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD
06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD
06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD
06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD
06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD
Próximos SlideShares
Carregando em…5
×

06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD

1.972 visualizações

Publicada em

Quem sabe alguma coisa costuma desenvolver em camadas, separar responsabilidades, normalizar o banco de dados, usar um ORM, entre outras práticas conhecidas e defendidas por boa parte da comunidade. Mas, por algum motivo, tais práticas, que deveriam estar tornando nosso trabalho mais simples, acabaram por torná-lo mais complexo. Nessa palestra veremos como a separação dos contextos de escrita (transacional) e leitura (consultas) podem deixar a arquitetura de uma aplicação cooperativa muito mais limpa, fácil de entender, escalável e robusta. Tudo isso, sem deixar pra trás um bom modelo rico de domínio.

Publicada em: Tecnologia
0 comentários
7 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.972
No SlideShare
0
A partir de incorporações
0
Número de incorporações
325
Ações
Compartilhamentos
0
Downloads
18
Comentários
0
Gostaram
7
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

06 - Giovanni Bassi - CQS, CQRS, DDD, DbC, DDDD

  1. 1. Giovanni Bassi giggio@giggio.net www.lambda3.com.br blog.lambda3.com.br1
  2. 2. @GiovanniBassi 5
  3. 3. Status atualSeparando a consulta Cenário colaborativoSeparando um pouco mais OportunidadesMudanças namodelagem Q&A
  4. 4. Interface gráfica View Controller Serviços Infra
  5. 5. Representantes ORM
  6. 6. Representantes
  7. 7. RepresentantesRepositório ordena??
  8. 8. Representante Total de Número de % sobre a Gerente vendas clientes metaDarth Vader 50.000 15 105% ImperadorHan Solo 23.000 10 90% Luke Skywalker
  9. 9. ConsultaRepresentantes Alteração
  10. 10. Consulta deRepresentantes SQL Represen tantes
  11. 11. Consulta deRepresentantes ORM Represen tantes
  12. 12. Sistema
  13. 13. Interface gráficaCache View Controller Serviços Infra
  14. 14. Palestra de Cache Distribuído com oDaibert em seguida!
  15. 15. http://en.wikipedia.org/wiki/ACID
  16. 16. http://en.wikipedia.org/wiki/Eventual_consistency
  17. 17. http://bit.ly/captheorem
  18. 18. Consulta deRepresentantes SQL (em bancoespecífico) Represen tantes
  19. 19. Banco de Consulta de ConsultaRepresentantes Banco de TransaçõesRepresentantes
  20. 20. Banco de Consulta Consulta deRepresentantes Consulta Banco de ComandoRepresentantes Transações
  21. 21. Banco de Consulta Consulta deRepresentantes Representantes Banco de Transações
  22. 22. Banco de Consulta Consulta deRepresentantes Representantes Banco de Transações
  23. 23. Banco de Consulta Consulta deRepresentantes Representantes Banco de Transações
  24. 24. Banco de Consulta Consulta deRepresentantes Representantes Banco de Transações
  25. 25. ClienteNome ClienteEmail AtualizarDados(nome, email)EhEspecial DarDesconto(percentual)FaixaDeDesconto TornarEspecial()EhValido()
  26. 26. Cliente AtualizarDados(nome, email) DarDesconto(percentual) TornarEspecial() DarFaixaDeDescontoAoCliente IdClienteAtualizaDadosCliente PercentualIdClienteNome TornarClienteEspecialEmail IdCliente
  27. 27. Cliente AtualizarDados(nome, email) DarDesconto(percentual) TornarEspecial() ClientesClientesEspeciais IdClienteIdCliente PercentualDescontoNome PaginaAtualEmail NumeroDePaginas
  28. 28. duplicação de dados: ok Rollback!denormalização: okdados na última camada: okatomicidade: desnecessáriaconsistência: em algum momento (não agora)exceções a regra: menos prioritáriasfronteira transacional: menor que uma entidadeentidades de domínio na UI: malignascamadas: menos...cache: banco NOSQL sem segurançabanco relacional: provavelmente desnecessário emdiversos pontosrepositórios: não paginam nem ordenam
  29. 29. Obrigado! Giovanni Bassi giggio@giggio.net www.lambda3.com.br blog.lambda3.com.br
  30. 30. Giovanni Bassi giggio@giggio.netwww.lambda3.com.br blog.lambda3.com.br

×