【发布时间】:2020-06-16 10:42:52
【问题描述】:
我会创建一个 python 类“ExcelFile”来处理在工作簿中添加多个工作表,
函数应该是通用的,这样团队中的任何人都可以轻松使用它,
我做了开发,一切都很好,我的代码是这样的:
def addSheet(df,"sheet_name1"):
-- reading template
-- add sheet1
-- replace existing file
在我多次调用该函数后,这取决于我要添加多少工作表,所以:
addSheet(df1,"sheet_name1")
addSheet(df2,"sheet_name2")
addSheet(df3,"sheet_name3")
我想重构我的代码并将其放入 python 类并实现一个设计模式,通过调用来帮助我完成这项工作
xls_file = ExcelFile().useTemplate("template_path").addSheet(df,"sheet_name1").addSheet(df2,"sheet_name2").writeXlsFile("filename")
做这样的事情的设计模式的名称是什么?
【问题讨论】:
-
您可以调用该流体/流畅的 API - 您可以使用 google 进行研究。 SO 不是协作编程的平台,请尝试解决它,如果遇到具体问题再回来。
-
@PatrickArtner,感谢您的回复,我把解决方案放在搜索之后,
-
这并不是 Python 中真正常见的 API 设计。
-
@chepner ,我一开始以为是建造者或工厂之类的设计模式,现在,我明白了
-
是的,但设计模式不是通用的。有些存在以弥补特定语言的缺点,尽管这里不是这种情况。 AFAIK,构建器模式的要点是您可以通过多个函数调用线程化部分构建的对象。这不仅仅是为了让您可以将原本可能是一组独立的变异方法调用集中到一个巨大的表达式中。 (理想情况下,构建器也不会改变任何内部状态,而是在每一步创建一个新的、增强的构建器。)
标签: python python-2.7 design-patterns