我有两个类需要app_config(在我的例子中,app_config应该在我的项目中的所有类中全局可用).
Class1需要app_config,它提供了一些我需要在app_config中再次更新的输入,就像class2中的wise一样.
稍后我需要在类1和类2中更新app_config.
更新实例变量的正确方法是什么.我做的是正确的还是需要不同的考虑?
import requests
app_config = {
"MaxThreadCount": 10,
"BaseURL": "https://google.com",
"DB": "some db ip"
}
class Class1():
def __init__(self, app_config):
self.app_config = app_config
def get_few_more_configs_in_class1(self):
var1 = requests.get(self.app_config["BaseURL"])
print("get few data")
return {"class-1": "some inputs"}
def set_appconfig(self, app_config):
self.app_config = app_config
class Class2():
def __init__(self, app_config):
self.app_config = app_config
def gather_few_more_configs_in_class2(self, inputs_from_class1):
print("connect to db")
return {"db-inputs": "some more inpus"}
def set_appconfig(self, app_config):
self.app_config = app_config
c1 = Class1(app_config=app_config)
c2 = Class2(app_config=app_config)
class1_inputs = c1.get_few_more_configs_in_class1()
class2_inputs = c2.gather_few_more_configs_in_class2(class1_inputs)
app_config.update(class1_inputs)
app_config.update(class2_inputs)
c1.set_appconfig(app_config=app_config)
c2.set_appconfig(app_config=app_config)