我目前遇到有关最佳做法的问题,从本质上讲,我试图找出将实例化设置交换为任意函数的最佳方法。
此刻,我使用一个设置功能来构造多个Camera对象(该功能的详细信息并不重要)。
def setup(self, cameras: dict):
...
这本特殊的词典采用...的形式
{
"hwid_1": {
"type": integer,
"fov": integer,
...
},
"hwid_2": {
"type": integer
...
},
"hwid_3": {
...
}
}
每个hwid
对应一个单独的物理摄像机,而setup
负责为每个各自的ID实例化一个新的Camera
。
当前,setup()
还负责使用JSON模式验证输入字典的模式,并完全按预期工作。
这种方法的问题在于,引入的抽象层使得其他开发人员在不先咨询相关架构的情况下就很难了解cameras
参数的格式。
我是否可以采取其他方法来使输入字典的架构更明确,或者这是试图实例化具有不同属性的对象数组的固有限制?