Driving Design through Examples

Driving Design through Examples

PHP UK Conference via YouTube Direct link

Modelling by Example Combining BDD and DDD concepts

2 of 24

2 of 24

Modelling by Example Combining BDD and DDD concepts

Class Central Classrooms beta

YouTube videos curated by Class Central.

Classroom Contents

Driving Design through Examples

Automatically move to the next video in the Classroom when playback concludes

  1. 1 Intro
  2. 2 Modelling by Example Combining BDD and DDD concepts
  3. 3 Behaviour Driven Development
  4. 4 BDD is the art of using examples in conversations to illustrate behaviour - Liz Keogh
  5. 5 Why Examples?
  6. 6 Rules are Ambiguous
  7. 7 Examples are Unambiguous
  8. 8 Examples are Objectively Testable
  9. 9 Gherkin A formal language for examples
  10. 10 You do not have to use Gherkin
  11. 11 Scenarios are not Contracts
  12. 12 Scenarios Create a shared understanding of a feature + Give a starting definition of done → Provide an objective indication of how to test a feature
  13. 13 Domain Driven Design
  14. 14 DDD tackles complexity by focusing the team's attention on knowledge of the domain - Eric Evans
  15. 15 Ubiquitous 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 under…
  16. 16 By embedding Ubiquitous Language in your scenarios, your scenarios naturally become your domain model - Konstantin Kudryashov (@everzet)
  17. 17 The 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…
  18. 18 Directly driving code with Behat?
  19. 19 Improving scenarios
  20. 20 Add realistic details
  21. 21 Actively seek terms from the domain
  22. 22 Get good at listening
  23. 23 Model values as Value Objects
  24. 24 Model boundaries with Interfaces

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.