perl - 我应该如何在 Perl 中维护我的对象模块?

标签 perl object module backwards-compatibility moose

我正在使用 Moose 在 Perl 中编写一些对象模块。我用来存储创建的对象的实例,然后使用它们。

我的对象数据的基本表示保持不变,但我会不时添加更多功能 - 例如类方法或对象方法。

我可以继续使用使用早期版本的模块创建的具有新功能的存储对象吗?或者每次更改模块时都必须重新创建对象吗?

开发基本数据结构不变但功能发生变化的对象模块的常见范例是什么?

最佳答案

只要数据结构不改变,你应该没问题:数据被吸收并重新祝福到你的类的命名空间中:这确保了新方法可以在该数据上使用。

请注意更改数据结构!

我不认为它有什么问题,尽管对于某些用途,您可以只使用数据库来存储数据,并使用众多 ORM(DBIx::Class、Fey::)之一以 OO 方式访问它。 ORM 或以哪个为准)。

关于perl - 我应该如何在 Perl 中维护我的对象模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3957968/

相关文章:

javascript - 如何使用 es2015 模块打包库

php - Class::DBI 类 php 库?

Perl 在 Windows 中使用外来字符

javascript - 在 javascript 中向 JSON.parse 对象添加额外的项目

javascript - 如何将数组值插入对象?

Python: "import"更喜欢什么——模块还是包?

perl - 如何使用 mod_perl 和 CGI​​::Application 提供临时文件下载?

perl - MooseX::NonMoose 类中的混合问题

ruby - 扩展 ruby 对象; extend_object 回调阻止实例方法被扩展

ssl - 如何在不重新编译的情况下使用 stream_ssl_module 获取 Nginx(接受 docker)