我正在查看执行任务的模块A
如果它们是类,我会倾向于重新考虑它们,使得公共代码最终出现在模块A和B继承的基类中(当然现在这些类是因为你不能在模块中继承)。
然而,保持模块A& B作为模块在这个特定的实例中恰好是优选的,所以有一个干净的方法来让第三个模块执行与基类相同的角色,或者只是必须接受在这个实例中必须有一个元素代码重复。
我正在思考第三个模块的朋友声明,其中常见的方法被宣布为朋友,但我想知道我是否忽略了一些明显的东西。
答案 0 :(得分:1)
不,你没有忽视一些明显的东西,我不这么认为。您应该始终尝试关注the DRY principal (Do Not Repeat Yourself);在这种情况下,重构它,使公共代码只在一个单独的模块中存在一次,只有两个原始模块之间不同的代码留在这两个模块中。