最後のいくつかの弱点、私は Web.py フレームワークで少し遊んでいます。アプリケーションがどんどん大きくなってきているので、ソースコードを再構築し、コードの一部を別のクラスに配置したいと考えています。さて、別の web.py クラスでオブジェクト インスタンスが必要な場合、どこにオブジェクト インスタンスを作成すればよいかわかりません。私のソースコードは次のようになります。
import web
import myclass
urls = (
'/', 'index',
'/test', 'test'
)
#should i make my instance global...
my = myclass.myClass()
class test:
def __init__(self):
#...or should i make my instance local: my = myclass.myClass()
pass
def GET(self):
item = my.getItem()
return item
def POST(self):
pass
class index:
def __init__(self):
#...or should i make my instance local: my = myclass.myClass()
pass
def GET(self):
date = my.getDate()
return date
if __name__ == "__main__":
app = web.application(urls, globals())
app.run()
ここで、Web ブラウザーの適切なサイトが呼び出された場合に、(インスタンスに属する) メソッドgetItem()
にアクセスしたいと考えています。私の質問は次のとおりです。インスタンスをグローバルにする必要がありますか、それともローカルにした方が良いですか? 私はグローバル インスタンスが本当に好きではありませんが、それをグローバルにする方法は他にありません。確かに、ローカル インスタンスを作成することは可能ですが、その場合、ページが読み込まれるたびに新しいインスタンスが作成されますよね? 通常、これは問題にはなりませんが、シリアル ポートにアクセスするため、インスタンスが 1 つだけ作成されるようにする必要があります。getDate()
my
myclass
何か不足していますか、それともグローバル インスタンスがこれを達成するための唯一の解決策ですか?