私はPythonに関してこの質問をしていますが、おそらくほとんどのOOP言語に当てはまります。「ただ一つのインスタンス」のPythonクラスを作成していますか?
データモデルをどのプログラムでも一度しか使用しない場合、クラス/静的メソッドと属性を持つクラスを作成するか、通常のクラスを作成して一度インスタンス化してそのコピーを使用することができます。この場合、どちらの方法が優れているのですか?
Pythonでは、モジュールを作成して、クラスと同じように使用できます。この場合、どちらの方が優れているのですか?
例:データにアクセスしてファイルに保存するための中央データ構造が必要です。
モジュールの方法:
data.py
attributes = something
...
def save():
...
main.py
import data
data.x = something
...
data.save()
クラスの道:
class Data:
attributes = something
@classmethod
def save(cls):
Data.x = something
Data.save()
インスタンス道
class Data:
def save(self):
data = Data()
data.x = something
data.save()
なぜdownvoteですか?これは正当なプログラミング問題です。 – darkfeline
'singleton python'のためのstackoverflowの検索 – warvariuc
改訂された質問ははるかに優れています。私はクローズ(重複を除く)が現在保証されているとは思わない。 –