【发布时间】:2019-09-09 23:29:36
【问题描述】:
我正在尝试创建一个程序,该程序将根据配置文件中注册的处理程序创建对象,以将它们传递给另一个类的方法。
我有一个配置文件,其中包含一组应传递给我的应用程序方法的某些处理程序的名称。 这是 config.json 文件:
{
"handlers": [
"handler1",
"handler2"
]
}
如何选择存储在配置中的必要对象?
下面的代码显示,要注册对象,您需要将它们保存在一个列表中。 解决此问题的最佳做法是什么?
class Observer:
#some code
class BaseHandler:
#some code
class Handler1(BaseHandler):
#some code
class Handler2(BaseHandler):
#some code
class Handler3(BaseHandler):
#some code
handler1 = Handler1()
handler2 = Handler2()
handler3 = Handler3()
handlers = [handler1, handler2, handler3]
observer = Observer()
observer.method_for_handling(handlers)
【问题讨论】:
-
什么建立映射是 json 文件字符串和类名?即
"handler1"⇒Handler1。什么时候进行对象注册,什么时候读取/使用json文件?