Python に関してこの質問をしていますが、おそらくほとんどの OOP 言語に適用できます。
どのプログラムでもデータ モデルを 1 回だけ使用すると予想される場合は、クラス/静的メソッドと属性を持つクラスを作成するか、通常のクラスを作成して 1 回インスタンス化し、その 1 つのコピーのみを使用することができます。この場合、どちらの方法が優れていて、その理由は何ですか?
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()