~/talk

Driving Design through Examples

slides:none on file

Claims that Modeling by Example (BDD + DDD) directly drives code: write realistic Gherkin scenarios, extract domain terms (airport codes, route, fare, ticket), implement value objects and a ticket issuer, stub a fare list to avoid infrastructure, use Behat and PhpSpec to drive failing steps into small unit tests, iterate until scenario passes. Outcome is tighter domain model, far fewer full-UI runs, and faster onboarding because examples become executable, living documentation.

AI-written summary · about

  1. 0:00Intro
  2. 1:06Modelling by Example Combining BDD and DDD concepts
  3. 2:05Behaviour Driven Development
  4. 3:50BDD is the art of using examples in conversations to illustrate behaviour - Liz Keogh
  5. 4:12Why Examples?
  6. 7:25Rules are Ambiguous
  7. 8:41Examples are Unambiguous
  8. 11:00Examples are Objectively Testable
  9. 12:21Gherkin A formal language for examples
  10. 12:31You do not have to use Gherkin
  11. 19:49Scenarios are not Contracts
  12. 20:04Scenarios Create a shared understanding of a feature + Give a starting definition of done → Provide an objective indication of how to test a feature
  13. 21:03Domain Driven Design
  14. 22:14DDD tackles complexity by focusing the team's attention on knowledge of the domain - Eric Evans
  15. 23:42Ubiquitous Language A shared way of speaking about domain concepts → Reduces the cost of translation when business and development communicate → Try to establish and use terms the business will understand
  16. 26:04By embedding Ubiquitous Language in your scenarios, your scenarios naturally become your domain model - Konstantin Kudryashov (@everzet)
  17. 27:56The best way to understand the domain is by discussing examples → Write scenarios that capture ubiquitous language → Write scenarios that illustrate real situations Directly drive the code model from those examples
  18. 30:21Directly driving code with Behat?
  19. 36:30Improving scenarios
  20. 37:23Add realistic details
  21. 38:35Actively seek terms from the domain
  22. 40:57Get good at listening
  23. 45:33Model values as Value Objects
  24. 49:32Model boundaries with Interfaces
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.