O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Domain driven design

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Próximos SlideShares
Scrum + bdd + ddd
Scrum + bdd + ddd
Carregando em…3
×

Confira estes a seguir

1 de 52 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Quem viu também gostou (20)

Anúncio

Semelhante a Domain driven design (20)

Mais recentes (20)

Anúncio

Domain driven design

  1. 1. Domain Driven Design Tackling Complexity in The Heart Of Software
  2. 2. agenda 1- What is DDD? 2- Business Logic Layer Patterns 3- DDD Basics 4- DDD Patterns 5- Related Approaches
  3. 3. Whatısdomaındrıvendesıgn?
  4. 4. WhatısDDD? The term first described by Eric Evans in his book of the same name(2004). Tackling Complexity Int the Heart Of Software
  5. 5. WhatısDDD? DDD is an approach to resolve complex and evolving business requirements.
  6. 6. WhatısDDD? Domain = Business
  7. 7. WhatısDDD? How to Taming Complexity? Collaborate with stakeholders
  8. 8. WhatısDDD? How to Taming Complexity? Where is behavior ?
  9. 9. WhatısDDD? Modelling Domain Models dependent on technologies
  10. 10. WhatısDDD? How to Taming Complexity?
  11. 11. WhatısDDD? Modelling Domain Publish News != Update News UnPublish News != Remove News
  12. 12. WhatısDDD? Modelling Domain Isolate business from technologies
  13. 13. WhatısDDD? How to Taming Complexity? Classic Layered Architecture DDD Architecture Focus on business
  14. 14. WhatısDDD? Modelling Domain Use rich domain model
  15. 15. Busınesslogıclayerpatterns
  16. 16. BLLPatterns
  17. 17. BLLPatterns Transaction Script
  18. 18. BLLPatterns Table Module
  19. 19. BLLPatterns Active Record Model, Persistence to Db, Business All Together
  20. 20. BLLPatterns Domain Model Focused on Core Business, Persistence Ignored, Model + Business
  21. 21. BLLPatterns
  22. 22. Dddbasıcs
  23. 23. DDDbasıcs Entities Objects that have a distinct identity
  24. 24. DDDbasıcs Value Objects An object that contains attributes but has no identity
  25. 25. DDDbasıcs Value Objects An object that contains attributes but has no identity
  26. 26. DDDbasıcs Bounded Context
  27. 27. DDDbasıcs Bounded Context
  28. 28. DDDbasıcs Bounded Context
  29. 29. DDDbasıcs Aggregates and Aggregate Root Cluster of Entities and Value Objects
  30. 30. DDDbasıcs Domain Services
  31. 31. DDDbasıcs Persistence Ignorance
  32. 32. DDDbasıcs Refactoring One of the most important rules in DDD
  33. 33. DDDbasıcs Anemic Domain Model vs Rich Domain Model
  34. 34. DDDbasıcs Anemic Domain Model vs Rich Domain Model
  35. 35. Dddpatterns
  36. 36. DDDpatterns When you remember that DDD is really just “OO software done right”, it becomes more obvious that strong OO experience will also stand you in good stead when approaching DDD. - Jak Charlton
  37. 37. DDDpatterns Repository
  38. 38. DDDpatterns Factory
  39. 39. DDDpatterns Strategy
  40. 40. DDDpatterns Dependency Injection
  41. 41. DDDpatterns CQRS - Command Query Responsibility Seperation
  42. 42. DDDpatterns CQRS - Command Query Responsibility Seperation
  43. 43. DDDpatterns Event Sourcing
  44. 44. Relatedthıngs
  45. 45. Relatedthıngs Clean Code
  46. 46. Relatedthıngs NoSql Technologies DDD very suitable for NoSql
  47. 47. Relatedthıngs TDD - BDD
  48. 48. Relatedthıngs Event Driven Architecture
  49. 49. Relatedthıngs Microservice Architecture
  50. 50. For More Informations... Books 1- Eric Evans - Domain Driven Design 2- Jimmy Nilsson - Applying Domain Driven Design And Patterns 3- Vaugh Vernon - Implementing Domain Driven Design Websites - Thinker 1- Martin Fowler - Blog 2- Greg Young 3- Jimmy Bogard 4- http://dddcommunity.org/ 5- InfoQ 6- Pluralsight
  51. 51. questıons
  52. 52. THANKS Mustafa Dağdelen

Notas do Editor

  • Uygulamaların ihtiyaçlarının sürekli değişmesinden kaynaklı kompleksleşmesi ve sonunda big ball of mud ‘a dönüşmesi.
    Radikal, Hürriyet
  • Burada haber’i modellemek kısmını söyle.
  • Uygulamaya başlarken seçtiğimiz database’e göre modelleri oluşturuyoruz.
  • Hürriyet’in yenilenmesi örneğini ver.Sabit duran bir business var ortada.Onun için teknoloji farketmez.
  • Hürriyet’in yenilenmesi örneğini ver.Sabit duran bir business var ortada.Onun için teknoloji farketmez.
  • Hürriyet’in yenilenmesi örneğini ver.Sabit duran bir business var ortada.Onun için teknoloji farketmez.
  • https://learnbycode.wordpress.com/2015/04/12/the-business-logic-layer-transaction-script-pattern/
  • Value object should be immutable
  • Value object should be immutable
  • http://www.slideshare.net/AlexandervanTrijffel/applying-domaindriven-design-to-craft-rich-domain-models
  • http://www.slideshare.net/AlexandervanTrijffel/applying-domaindriven-design-to-craft-rich-domain-models
  • Bir business işlemi sonucunda birden fazla yere bilgi gönderip farklı işlemlerin yapılmasını isteyebiliriz.Bunu en iyi event driven architecture ile yapabiliriz.

×