Upload
andrzej-krzywda
View
592
Download
1
Tags:
Embed Size (px)
Citation preview
DDD-lite• app service
• domain service
• load aggregate from the repo
• do sth cool
• may use some value objects
• may trigger some domain events
• save aggregate (repo)
as microservices partially available
different persistencedata duplication
Context MapHR Project Management Finances
Invoicing
CRUD
DDD-lite
external SaaS
Communication
developer project client
Peopleware the human factor
http://andrzejonsoftware.blogspot.com/2014/01/refactoring-human-factor.html
Mutation testing is the real test coverage!
http://blog.arkency.com/2015/04/why-i-want-to-introduce-mutation-testing-to-the-rails-event-store-gem/
http://blog.arkency.com/2015/06/how-good-are-your-ruby-tests-testing-your-tests-with-mutant/
Test units, not classes!http://andrzejonsoftware.blogspot.com/2015/02/tdding-unit-not-class.html
http://andrzejonsoftware.blogspot.com/2014/04/tdd-and-rails-what-makes-good-unit.html
http://blog.arkency.com/2014/09/unit-tests-vs-class-tests/
Escape from the framework ASAP
http://blog.arkency.com/2015/03/extract-a-service-object-in-any-framework/
Call application services from the framework
Don’t just pass the params/hash everywherehttp://andrzejonsoftware.blogspot.com/2011/12/args-opts-params.html
Event sourcingbuild your aggregates from events
audit log for free(no, it’s not slow, but thanks for asking)
Easier setup of the project when it’s a smaller
pieceUseful when you’re maintaining many projects and need to bugfix them from time to time
https://laracasts.com/discuss/channels/general-discussion/folder-and-namespace-structure-with-ddd/replies/17753
Legacy -> DDD books
• red book, Vaughn Vernon
• blue book, Eric Evans
• Refactoring, Fowler
• Legacy code, Feathers