Friday 4th April, 2014
9:30am to 5:30pm
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.
Founder of Sixty North, an application, consulting and training business. Open source hacker and hobby technologist by night. Living and working in Oslo.
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