Ruby 一个模块有一个状态是不是一个坏主意。。。?
在下面的ruby模块中,在适当的方法调用中创建并存储哈希中的对象Ruby 一个模块有一个状态是不是一个坏主意。。。?,ruby,oop,hash,state,behavior,Ruby,Oop,Hash,State,Behavior,在下面的ruby模块中,在适当的方法调用中创建并存储哈希中的对象 include 'printer' module A def create(params) temp = params @object = Printer.init(temp) #this returns a hash with a collection of objects end #{<object1>,<object2>
include 'printer'
module A
def create(params)
temp = params
@object = Printer.init(temp) #this returns a hash with a collection of objects
end #{<object1>,<object2>,...}
end
还包括一个名为printer的类,该类通过调用名为init的类方法返回散列
第一:此模块是否有状态。。?如果是,为什么将状态和行为放在一起是个坏主意,这不是不可避免的吗?不,ruby中的模块没有状态,它们只是关于行为的。类继承自模块,类是行为和状态
状态和行为当然可以是混合的,但为什么要使用模块而不是类呢?我们使用模块还是类有关系吗。。。我所寻找的只是模块中修改数据的方法。使用类的原因是,您可以使用单个实例将数据保存在其中。这意味着状态可以保持在单个代码位的本地,如果需要,您最终可以使用其他实例。如果您在模块中存储了数据,则会强制所有代码使用单个全局共享状态,这会导致模块性、可维护性和可扩展性问题。太好了,这正是我想要的。谢谢。你从哪里听说把状态和行为放在一起是个坏主意?