我一次又一次地发生这种情况:我们的课程CLS
采用init
方式,如下所示:
init {
// do A
// do B
// do C
}
现在,在某种情况下,我们需要在X
和B
之间准确C
。创建CLS
的子类并重新编写整个init
方法并插入X
对我来说似乎不是一个好的解决方案(它与DRY相反),是否存在我没有想过更好的解决方案?
请注意,A
,B
和C
是一些小代码片段,可以进行小调整,例如调整UI,因此将它们放在不同的方法中可能不是一个好主意。我目前正在用JavaScript编码,但我认为这个问题也适用于其他PL。
答案 0 :(得分:3)
我们通常会在父类中添加钩子,我们期望扩展。我不记得它叫什么。也许这是template method pattern?
values variableA variableB result
0 134 1 3 231
1 12 2 6 71
2 43 1 2 231
3 54 3 1 188
4 16 2 7 71