我目前正在通过格雷戈·布朗(Ruby Best Practices书开展工作。 早上,他谈论的是,将一些功能从相关类别中的助手方法改为模块上的某种方法,然后是模块<编码>推广自。
Hadn t 曾看到,在经过快速透视之后,在模块上,<代码>扩展自封使模块中界定的方法相互看,这是有意义的。
现在,我的问题是,你何时会这样做。
module StyleParser
extend self
def process(text)
...
end
def style_tag?(text)
...
end
end
之后在测试中参考。
@parser = Prawn::Document::Text::StyleParser
而不是这种情况?
class StyleParser
def self.process(text)
...
end
def self.style_tag?(text)
...
end
end
是这样,你才能把它当作一个组合? 或者还有其他原因,我看不到吗?