![]() |
1
37
类应该用于需要实例化或需要跟踪状态的功能。模块既可以用作将功能混合到多个类中的方法,也可以用作提供不需要实例化或跟踪状态的一次性功能的方法。类方法也可以用于后者。 有鉴于此,我认为区别在于你是否真的需要一门课。当现有类需要一些单例功能时,类方法似乎更合适。如果您所做的只是由单例方法组成,那么将其实现为一个模块并直接通过该模块访问就更有意义了。 |
![]() |
2
7
在这种情况下,我可能既不使用类也不使用模块。 类是对象的工厂(注意复数)。如果不想创建类的多个实例,则不需要该类存在。 模块是方法的容器,在多个对象之间共享。如果不将模块混合到多个对象中,则不需要它存在。 在这种情况下,看起来你只是想要一个对象。所以使用一个:
或者:
但是正如@azeem已经写的:为了做出正确的决定,你需要更多的背景。我对对虾的内部结构还不够熟悉,不知道格雷戈里为什么会做出这样的决定。 |
![]() |
3
-1
如果要实例化某个对象,请使用类。你剩下的问题需要更多的上下文才能理解。 |
![]() |
Stilian · 存储库设置中没有Github页面部分 2 年前 |
![]() |
Kellen · 查看$卷展栏功能列表 2 年前 |
![]() |
Akshit Thakur Ak · 我怎样才能把铁轨停下来? 2 年前 |
![]() |
johncssjs · 将数组转换为每个元素的嵌套哈希 2 年前 |
![]() |
solidsnake99 · Rails db:如何绕过验证 2 年前 |