【发布时间】:2021-12-05 11:21:09
【问题描述】:
我有一些与设计模式相关的理论知识,现在我有一些问题要让这些信息和其他信息付诸实践。
我的ServiceImpl 类中有以下两种方法:
@Override
public MultipartFile exportA() throws IOException {
// repeated lines-I same as exportB method (code omitted for brevity)
// other lines special to exportA method
// repeated lines-II same as exportB method (code omitted for brevity)
}
@Override
public MultipartFile exportB() throws IOException {
// repeated lines-I same as exportA method (code omitted for brevity)
// other lines special to exportB method
// repeated lines-II same as exportA method (code omitted for brevity)
}
如图所示,所有这些方法中都有重复的部分。那么,我是否应该为重复的行-I 和 II 创建 2 个方法,然后将这些代码块移动到这些新创建的 2 个方法中?或者,有没有更好的设计模式方法?
【问题讨论】:
-
嗯,这里想到的一种模式是"Template method"。但是,作为第一步,仅提取
createWorkbook()和writeWorkbookToFile()-methods 可能会让您朝着正确的方向迈出第一步。 -
@Hulk 谢谢你的回复,我也是这么想的。但是特殊线路呢?请问有使用该代码的示例帖子吗?
标签: java spring inheritance design-patterns