5
使用仅包含静态方法的*** Helper或*** Util类是AntiPattern
我经常遇到Java或任何类型的语言中的helper或util类。因此,我问自己这是否是某种反模式,而此类类的存在只是软件设计和体系结构中缺少一些缺失。 通常,这些类仅使用静态方法进行限制,该方法可以完成很多工作。但大多数情况下,确实是上下文相关的并且是全状态的。 我的问题是,您对此类静态辅助程序/ util类有何看法,因为其优势当然是仅使用类名进行快速调用。 在哪种抽象级别上,您将避免使用此类? 我认为关键字“ static”应该只允许在类(Java)的声明中使用,而不能用于方法。我认为以这种方式使用它,是在Java中结合过程式和OO-范式并避免滥用关键字的一种很好的选择,也是中间的选择。 由于答案而增加的内容: 起初,我认为能够组合不同的范例甚至在机器或vm编译的代码中使用运行时解释的脚本语言是完全合法的。 我的经验是,在项目的开发过程中,此类帮助器和utils或其他名称正在不断增长,并在最初被设计为模块化和灵活的代码库的每个被遗忘的角落使用。而且由于缺乏时间进行重构或重新考虑设计,随着时间的推移,您的情况只会变得更糟。 我认为static应该从Java中删除。尤其是在现在可以使用更复杂的功能语言元素的地方。