gpt4 book ai didi

java - 模板方法模式 - 命名约定

转载 作者:搜寻专家 更新时间:2023-10-30 21:06:58 25 4
gpt4 key购买 nike

我将这个抽象类命名为 RenderableEntity

我有一个公共(public)方法 render(),它有一些围绕抽象保护 render() 方法的逻辑。我应该如何命名这个抽象的 render() 方法。是否有某种约定,例如。 doRender(), makeRender() 用于 protected 方法 render()?

public abstract class RenderableEntity extends Entity {

private boolean visible;

public void render(){
if(visible){
render();
}
}
protected abstract void render();
}

编辑:我知道这段代码无法编译。我只是想知道如何命名这个抽象方法,因为我不能有具有相同名称和相同参数的方法。

最佳答案

第一:只有在模板方法独占时,才考虑对这些方法进行特殊命名。此外,您应该评论这些方法,说明它们由模板方法使用,并且在进行任何修改时都应牢记该用法。

构成模板方法中可替换步骤的方法通常称为“ Hook ”方法。有时您会看到它们的名称末尾带有“Hook”。

在您的示例中,您可能希望将其称为 renderHook(),但如果您可以更具体地了解它在模板方法 render() ,这将更具描述性。

我见过 doXXX() 的使用,尽管它主要是在存在一对一的模板到 Hook 关系时使用。

一个可能的建议。对于模板方法 stuff():

  • 如果 stuff() 主要是围绕单个 Hook 的简单控制逻辑,则将 Hook 命名为 doStuff()(在您的示例中似乎就是这种情况以上)

  • 如果 stuff() 编排了几个钩子(Hook),用 Hook 后缀独立命名它们,不要将它们命名为 任何与模板相同(在这种情况下,应该没有 stuffHook() 方法。

关于java - 模板方法模式 - 命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14564162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com