I am trying to figure out the best way to keep objects in memory without having them scattered everywhere within the code.
For example: I have a PyQT menu system which interacts with objects. Currently, these menus are able to create and modify an object by hitting code outside of their menu-related files, but afterwards the objects are being held inside the menu objects themselves.
e.g.
from foo_obj import Foo class Menu foo = Foo() ...
Some objects that need to be accessed from multiple menus sit in their own file where they are saved to a variable and imported into the “highest-level” file (main.py
) so they aren’t destroyed till the program terminates.
I’m sure this is not the best way to go about this. I have heard of MVC design and I have tried to follow something like that where almost all controller logic such as modifying the objects, conditionals, etc. are in their own “controller-like” files, and menu files are almost entirely views. Unfortunately, the issue still remains that I cannot find a good way to store these objects without creating some sort of abstract concept like object_container.py
.
What is a good standard for this type of issue?