jel*_*ion 14 java naming-conventions template-method-pattern
我有一个名为RenderableEntity的抽象类.
我有一个公共方法render(),其中包含一些围绕抽象保护render()方法的逻辑.我应该如何命名这个抽象render()方法.是否有某种惯例,例如.doRender(),makeRender()对于受保护的方法render()?
public abstract class RenderableEntity extends Entity {
private boolean visible;
public void render(){
if(visible){
render();
}
}
protected abstract void render();
}
Run Code Online (Sandbox Code Playgroud)
编辑:我知道这个片段无法编译.我只是想知道如何命名这个抽象方法,因为我不能有相同名称和相同参数的方法.
Sco*_*eld 16
第一:如果它们仅供模板方法独占使用,则只考虑这些方法的特殊命名.此外,您应该注释这些方法,说明模板方法使用它们,并且应该考虑到这些用法进行任何修改.
在模板方法中构成可替换步骤的方法通常称为"钩子"方法.你有时会看到它们最后以"Hook"命名.
在您的示例中,您可能想要调用它renderHook(),但是如果您可以更加具体地了解它在模板方法render()中执行的任务更具描述性.
我已经看过doXXX()用过了,虽然它主要是在有一对一的模板到钩子的关系时.
一个可能的建议.对于模板方法stuff():
如果stuff()主要是围绕单个钩子的简单控制逻辑,请将钩子命名doStuff()(在上面的示例中似乎就是这种情况)
如果stuff()编排了几个钩子,用Hook后缀单独命名它们,并且不要将它们中的任何一个命名为与模板相同(在这种情况下,应该没有stuffHook()方法.
| 归档时间: |
|
| 查看次数: |
1628 次 |
| 最近记录: |