Deliver Domain-Driven Designs. Dynamically! [Workshop]

A session at DevWeek 2014

Friday 4th April, 2014

9:30am to 5:30pm (GMT)

How do you statically model an ever-changing world? The approach of domain-driven design (DDD) describes the codification of perspectives of reality into a domain model, which is in turn realised as a software system around which valuable services can be constructed. As business and physical domains evolve, our requirements, models and implementations must follow if they are to remain relevant. Dynamic languages, such as Python are a great match for the dynamism of the real world. It is perhaps surprising then, that for much of the decade since its inception, DDD has manifested its results in rigid relational-database schemas, object relational mappers pushed beyond reasonable limits and inflexible object models in statically typed languages such as Java or C#. In this hands-on workshop, participants will work together to implement a domain model in Python using nothing more that plain old Python objects. We'll show how core DDD concepts, such as entities, immutable value objects, aggregates and repositories, can be implemented in Python. We'll build declarative tools from scratch to facilitate model implementation, and we'll evaluate persistence solutions including “traditional” RDBMSs, document stores, object databases and graph databases.

About the speakers

This person is speaking at this event.
Robert Smallshire

Founder of Sixty North, an application, consulting and training business. Open source hacker and hobby technologist by night. Living and working in Oslo.

This person is speaking at this event.
Austin Bingham

Founder and Technical Director of Sixty North, living, work, and hacking in Stavanger, Norway

Sign in to add slides, notes or videos to this session

DevWeek 2014

England England, London

31st March to 4th April 2014

Tell your friends!


Time 9:30am5:30pm GMT

Date Fri 4th April 2014

Short URL


Official session page


View the schedule


See something wrong?

Report an issue with this session