给定一些 uploader 类,我在其中包含三个模块。
它们各有各的独特用途,这就是我将它们分为三个模块的原因。但是,事实证明,所有三个模块都需要一种方法。
因此,到目前为止,对我来说很明显,必须有比在这三个模块中的每一个中定义此方法更好的方法。我是否应该制作第四个模块并将此方法放入其中,并让这些原始的三个模块包含这个第四个模块?或者有更好的方法吗?
最佳答案
是的,听起来您应该有第四个模块。但听起来您可能实际上需要一个类层次结构而不是独立的平面模块。应用“是一个”测试 - 你能说一个 UploaderA 实例是一个 uploader 吗?如果是这样,你应该有
class Uploader
include FourthModule # with shared functionality for all uploaders
# or just go ahead and put the shared functionality right in the Uploader class here.
end
class UploaderA < Uploader
end
关于使用一些通用方法的 Ruby 模块 :where to put this method?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5942976/