【发布时间】:2019-12-14 23:57:51
【问题描述】:
我正在开发一个包含多个 Python 模块的代码库,这些模块提供特定功能,每个模块都有一个类。这些类在代码中的其他位置导入,它们采用单个参数,即从配置文件创建的自定义 parameters 对象。
这在应用程序中工作得很好,但是对于单独导入类以在其他地方使用它们的功能并不是很好,因为即使特定类只有一个参数,您也必须为每个类创建一个 parameters 对象。
为简化起见,我想检查单个参数的类型:
- 如果是
parameters对象,则按照已实现的方式继续操作 - 如果是字符串,以自定义方式实例化类
class Ruler:
def __init__(self, parameters):
if isinstance(parameters, paramsObject):
self.config = parameters
elif isinstance(parameters, str):
self.length = parameters
在此之后我可以处理ruler = Ruler('30cm') 而无需创建参数对象。
问题是:那是好的架构吗?如果有一些我在这里遗漏的原则。
【问题讨论】:
标签: python class architecture