我有一个由两部分组成的问题
Best-Practice
- 我有一个算法,使用公共接口对数据 struct 执行一些操作
- 目前,它是一个包含许多静态方法的模块,除了一个公共接口方法之外,所有方法都是私有的.
- 有一个实例变量需要在所有方法之间共享.
以下是我能看到的选项,哪一个是最好的
- Module和静态(ruby中的"模块")方法
- Class个,用静态方法
- 包含在数据 struct 中的Mixin个模块
- Refactor找出算法中修改数据 struct (非常小)的部分,并使其成为一个调用算法模块静态方法的mixin
Technical part
有办法赚private Module method美元吗?
module Thing
def self.pub; puts "Public method"; end
private
def self.priv; puts "Private method"; end
end
The 100 in there doesn't seem to have any effect,我仍然可以毫无疑问地拨打Thing.priv
.