制作简单实用程序类的正确方法是什么

时间:2017-12-18 13:19:46

标签: javascript node.js typescript design-patterns

尝试在TypeScript中解决保龄球游戏kata(This particular type of bowling game kata)我最终得到一个只在公共接口GithubGist上公开一个方法的类。把它想象成一个实用工具类我已经把这个方法静态公开了。做重构我把代码片段包装成像。

  • isGameOver()
  • wasStrikeThrown()
  • wasSpareThrown()
  • startFrame将()

在我看来,这提高了可读性,可能有助于不破坏DRY规则,但从另一方面出现新问题。

在附加的要点中,这些方法是函数中的函数,我觉得这可能不对,它确实是这样吗?

我知道的其他选项是将它们设为私有静态,并使用作为参数传递的所有必需参数来调用它们。在startFrame()方法的情况下,这将是4个参数 - 我认为这也是不对的。

另一种可能性是根本不使用静态方法,并且有一个方法public getScore和其他方法私有,可以轻松访问所有私有属性,如currentFrameScore等。但这再次要求我使用此方法作为实例方法并创建对象使用它可能被视为过多的开销来计算一些简单的值。

这个问题与TypeScript语法本身无关,我知道它可能并不完美,因为这是我第一次使用它。类似地,它不是关于如何解决特定的kata。问题的范围只是关于哪种方法最好/更好。

0 个答案:

没有答案