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

Working in Units: How to Decouple the Database ...

Working in Units: How to Decouple the Database and Domain Layers in Python

A crucial element of architecting a software application for scale is the collaboration of domain experts and developers. For that to happen, the application must separate the domain layer— where elements that represent the real world reside—from the infrastructure layer—where these elements are translated into precise software processes.

Within the Fintech team at Kiwi.com, we are rearchitecting a critical service to accept more payment providers. As part of this refactor, we are adopting the Unit of Work pattern to disentangle domain entities from the database processes that represent them. This way, domain experts can share their knowledge with developers more easily, and developers can find opportunities for optimization without the involvement of domain experts in the process.

Attendees will gain a solid understanding of how to implement the UoW pattern in their Python applications, how it fits into the broader context of DDD, and how to prepare their code for future growth.

Álvaro Durán

July 25, 2023
Tweet

More Decks by Álvaro Durán

Other Decks in Programming

Transcript

  1. @oh_duran Krikorian, Raffi. 2013. Timelines at Scale. QCon San Francisco.

    infoq.com/presentations/Twitter-Timeline-Scalability/
  2. Working in Units How to Decouple the Database and Domain

    Layers in Python Alvaro Duran Senior SWE - Fintech @ Kiwi.com @oh_duran