6. Typically, we do …
Analysis until we get an idea
Relational model to support it
Code to make it work
Some UI on top of it
DB
7. Design driven by the business domain
or just
Domain-driven Design (DDD)
THE BUSINESS DOMAIN
8. If I asked my customers what they
wanted, they would have told me
‘just faster horses’.
—Henry Ford
Founder of the Ford Motor Company
“
9. VALUABLE PURPOSE OF DDD
frustrated by understanding and implementation
Learn the language
of the business
Crunch knowledge
about the business
Understand the
mechanics
Build a model
10. Start from User Requirements
Voucher is the domain name.
Synonyms like coupon or gift card are not allowed.
Noun
Verb
Registered Customer
Voucher
Redeem
Order
Place
Ordered Items
Pay
11. Words and verbs that
truly reflect the semantics of
the business domain.
THE UBIQUITOUS LANGUAGE
SEMANTICS
The meaning, or an interpretation of the meaning, of a
word, sign, sentence, etc.
12. At Work Defining the
Ubiquitous Language
Cancel the booking
Checkout
Extend the job order
Accept the invoice
Delete the booking
Submit the order
Update the job order
Create the invoice
Set state of the game Start/Pause the game
14. Can I Give You Another Acronym?
UX-driven Design
UX-first
15. Build up UI forms
as users love
them
Define workflows
from there
Connect
workflows to
existing biz logic
Sign-off
here
UX-DRIVEN DESIGN IN 3 EASY STEPS
16. Can I Be Honest with You?
UX-driven Design
has a number of effects
17. Events and
Commands
Watershed
software
Polyglot
Persistence
RELEVANT BUZZWORDS TODAY
Flowchart-friendly
Saga, bus, messages
Bounded software
Throw and rewrite
Natural storage
Life beyond relational
PS: Polyglot persistence is
not drop SQL Server and
change DB. It’s saying that
the flavor of persistence to
use is now an architecture
concern.
18. Can I Give You an Answer?
Why Do We
Write Software? To make it work at
first shot and move
to the next project
IT’S ALL ABOUT USER EXPERIENCE. NOT INTERFACE.NOT INTERFACE.