【发布时间】:2017-10-15 16:20:25
【问题描述】:
有没有销毁时调用的类方法?
在一个类上使用new时,会调用initialize方法,有没有destroy等价的?
当不再使用该类时,我需要确保正确关闭数据库(关闭数据库后程序继续运行)。
【问题讨论】:
标签: database destroy crystal-lang
有没有销毁时调用的类方法?
在一个类上使用new时,会调用initialize方法,有没有destroy等价的?
当不再使用该类时,我需要确保正确关闭数据库(关闭数据库后程序继续运行)。
【问题讨论】:
标签: database destroy crystal-lang
有Object#finalize,但是这种析构函数通常只需要用于低级抽象,例如从 C 库中释放资源。对于普通的应用程序或库代码,我认为这是一种代码异味,通常有更好的解决方案。
如果数据库连接只用于特定的交互,最好手动打开和关闭(可能包装在一个块中)连接,而不是依赖 GC 析构函数挂钩。
【讨论】: