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/models and another like /src/export (or serialize)

What do you guys think?
What’s your preferred way to organize the save and load flows?

  • Gamma@beehaw.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    13 hours ago

    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 BaseModel or whatever else is needed, keeping each file relatively short and focused to what it needs to do.