最后几个弱点,我在玩一点 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()
现在,如果调用了我的网络浏览器中的适当站点,我想访问方法getItem()
和getDate()
(属于实例)。my
我现在的问题是:我应该将实例设为全局还是更好,如果我将其设为本地?我真的不喜欢全局实例,但我没有看到任何其他方法可以使其成为全局实例。当然,可以创建一个本地实例,但是每次页面加载时,都会创建一个新实例,对吗?通常,这不会是一个问题,但会myclass
访问一个串行端口,所以我需要确保只创建一个实例。
我是否遗漏了什么或者全局实例是完成此任务的唯一可能解决方案?