这是我在Python中遇到的典型模式,但可能适用于大多数其他多范式语言。你知道吗
我写了一堆函数。其中一些类似于load\u data(),另一些类似于dou something\u with\u data()。也就是说,后者作用于用第一个函数读入的数据。假设读取数据需要1分钟。你知道吗
过了一会儿,我重构了代码,使它们都是类中的方法。虽然这看起来更整洁,但也更难发展。也就是说,如果我在dou something\u with\u data()中修复了一个bug,那么已经实例化的对象就不会被修复。我必须重新实例化它,这可能需要一分钟左右,因为它必须读取数据。你知道吗
object=my_object();object.load_data();object.do_something_with_data()
我想知道是否有一个好的模式来处理这个问题。你能在不刷新数据的情况下更新对象的方法吗?我是否应该编写一个方法来获取一个旧对象并从一个已保存的对象中复制所有的数据字段?其他想法?你知道吗
方法在类上查找。在模块重新加载时,现有实例最终引用的类不再存在;它们的
__class__
指向的对象是旧的module.classname
,并且与新的module.classname
不是同一个对象。你知道吗您有两种选择:
更新旧类以使用新方法:
替换现有对象上的类引用:
相关问题 更多 >
编程相关推荐