我有一个名为 RenderableEntity 的抽象类。
我有一个公共方法render()
,它有一些围绕抽象保护render()
方法的逻辑。我应该如何命名这个抽象的render()
方法。是否有某种惯例,例如。保护方法doRender()
的{{1}},makeRender()
?
render()
编辑:我知道这个代码段无法编译。我只是想知道如何命名这个抽象方法,因为我没有相同名称和相同参数的方法。
答案 0 :(得分:14)
首先:如果模板方法用于独占使用,则只考虑这些方法的特殊命名。此外,您应该评论这些方法,说明模板方法使用它们,并且应该考虑到这些用法进行任何修改。
构成模板方法中可替换步骤的方法通常称为“钩子”方法。你有时会看到它们最后用“Hook”命名。
在您的示例中,您可能希望将其称为renderHook()
,但是如果您可以更详细地了解它在模板方法render()
中执行的更具描述性的任务。
我已经看过doXXX()
,虽然它主要是在一对一的模板到钩子关系时。
可能的建议。对于模板方法stuff()
:
如果stuff()
主要是围绕单个钩子的简单控制逻辑,请将钩子命名为doStuff()
(在上面的示例中似乎就是这种情况)
如果stuff()
编排了多个挂钩,请使用Hook
后缀单独命名,并且不要将任何命名为与模板相同(在这种情况下) ,应该没有stuffHook()
方法。
答案 1 :(得分:0)
没有关于它的约定。但我更愿意看到更有意义的名字。例如。 forceRender
,renderNow
,renderImmideately
或类似内容,表明它的呈现方式与render
不同。
答案 2 :(得分:0)
模板方法模式在命名约定方面没有任何此类指南。但是请给出适当的名称,以便明确解释方法的意图,并且维护将来更容易。