I have in mind two options:
- Code in the class being saved/loaded. The flows for each entity/model are in the same place, so it’s easy to just have one file open to see all the functionalities of that class, but this means having more code in a single file.
- Code in a dedicated class (like a factory)
This makes each file smaller, but spreads flows of a single model into different parts of the repo, also because I’m thinking of having a directory/src/modelsand another like/src/export(orserialize)
What do you guys think?
What’s your preferred way to organize the save and load flows?


In python I put my base models in
models/__init__.py. The bases have things for managing data behind the scenes, adding common utility methods, etc. If I’m using another library or method to serialize data I’d put it in a separate utility script somewhere, it’s probably going to be useful to more than just data models and it’s easy enough to import.Then each file that defines models has a
from models import BaseModelor whatever else is needed, keeping each file relatively short and focused to what it needs to do.