And*_*rko 7 language-agnostic inheritance
我有命令类实现ICommand {Execute}接口.有几个命令有重复的代码片段.我有几种选择如何干:
你会建议什么,为什么?
添加 感谢大家回复,许多答案都很相似和有用!
小智 5
另一种选择是将公共代码放在一个新类中,并使用依赖注入将helper类注入命令中,而不是静态类.这也与继承概念的构成有关.
这完全取决于重复代码的性质。
辅助函数的输入/输出是什么?它们是否对一组逻辑相关的变量进行操作?然后 - 是的,您最好创建一个基类,其中这些变量作为成员,以及相关的辅助函数集。
否则,如果辅助函数中的参数不一致,您无论如何都会将这些函数实现为静态函数,对吧?在这种情况下,我不认为有理由使继承的事情变得复杂,我只会使用辅助函数来完成它(或者,如果您的语言不将函数视为一等公民,请使用静态辅助类)。