Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Domain Driven Design (... with Flask)

C5f39f471a9a5b4afddd3c0babdbca4f?s=47 mikedebo
September 12, 2012

Domain Driven Design (... with Flask)

A very brief and shallow introduction to Domain Driven Design in Python, using Flask + SQLAlchemy + pymongo as an example environment.

C5f39f471a9a5b4afddd3c0babdbca4f?s=128

mikedebo

September 12, 2012
Tweet

More Decks by mikedebo

Other Decks in Programming

Transcript

  1. Domain Driven Design (...with Flask) Michael DiBernardo 12-Sep-2012 @ DjangoToronto

  2. What is DDD?

  3. Something familiar • Domain driven design separates the model layer

    ("M") of MVC into: • an application tier, • a domain tier, • and an infrastructure tier. (opentaps project docs)
  4. Domain is the focus

  5. POPOs

  6. CODE

  7. When to use it? • Non-trivial domain (i.e. not this

    demo) • Iterative process • Access to domain experts / users • Integration with external interfaces
  8. “Indeed, one of the ways of establishing control over a

    system is to enforce link- cutting until the graph is hierarchical.” - Fred Brooks (paraphrase from MMM)
  9. Model Services Scary outside world Application Repos Presentation (Highly idealized)

  10. Thoughts • POPOs in Django. How? Why? • The “secondary

    project” • Web as platform
  11. https://github.com/MichaelDiBernardo/ddd-flask-example