コードを再編成しているため、新しい名前空間を作成しています。モジュールの「静的」クラス (各メソッドに @staticmethod を含むクラス) を変更しています。これが進むべき道ですよね?
問題は、これらのモジュール間でリソースを共有する方法に疑問があることです。
データベースへのすべての接続を行うモジュールがあり、もちろんすべてのクラス/メソッドがDBカーソルを格納する変数を共有していたとしましょう(私はSQLiteを使用しています)。現在、異なるモジュールでは、カーソルも共有する必要があります。
だから、私の考え:
各モジュールでグローバル変数を宣言します。しかし、グローバルは悪であり、子供を食べ、私たちの仕事を奪います。ですから、この方法でよいかどうかはわかりません。
'''Sub Module 1''' global database_cursor
元の database_cursor を使用して「親」database_module をインポートし、次のように使用します。
'''Sub Module 1''' db_cursor = database_module.database_cursor
この場合、この 2 番目は問題ないように見えますが、多くの場合、再帰的なインポートにつながると思います。これは避けるべきだと思います。