16

虽然我不是 Perl 大师,但我使用 Perl 并且可以以“古老”的方式编写面向对象的程序。

现在我想学习Moose。我已经 (so-as) 咀嚼了基本文档,我的第一个 Moose 和角色已经开始工作了,但我离理解 Moose 的实际工作方式还有很长的路要走。

问题 1:了解 Moose 如何编写“相当不错”的程序是绝对必要的吗?

老实说,我不太了解旧的对象系统。我隐约记得读过的东西是它实际上是对数据结构的引用,但我从未深入探索过。我知道如何以及何时需要使用等就足够了blessautoload而且事情很简单。也许我的一些旧模块可以更有效地编写。但对我来说,它们工作得很好。

这和Moose一样吗?还是有人用 Moose 编写“足够好”的程序需要了解它“内部”是如何工作的?

出现这个问题的原因如下:

METACPAN 中有几十个模块,可以帮助更轻松、更简单地编写 Moose 对象。

随机示例:

还有更多(不想在这里引用另外 10-20 个模块)

现在主要问题是:

是否有任何包含以下说明、示例和建议(良好做法)的好书:

  • 建议从上面列出的模块中从一开始就常规使用哪些模块?

上面的模块肯定不是开发出来的,只是因为作者没有做什么。当然,它们是有用且有帮助的。但是学习(阅读:试图理解)数十个不同的模块(尤其是那些使用 Moose 内部组件的模块)是一个极其漫长的过程。另一方面,如果不使用它们,我的程序将变得不必要地复杂,我将处理已经解决的问题。

Moose 应该是(并且可能是)一个革命性的系统。只有我开始迷路了。

编辑:我刚找到驯鹿。可能这个模块是对这个问题的部分回答: 从一开始(或大部分时间)什么模块是有用的

PS:我不确定这个问题是否适合SO。如果没有,请将其移至某处或将其关闭。我在这里问它是因为 SO-perl 社区是一个非常有帮助的地方,我不知道如何继续学习 Moose。

4

3 回答 3

5

Ricardo Signes 的“ Moose is Perl: A Guide to the New Revolution ”包含许多有价值的信息和建议。在此处获取 PDF:http ://rjbs.manxome.org/talks/moose/

于 2012-09-24T02:27:53.257 回答
4

回答你的第一个问题:不知道内部是如何工作的就是抽象的全部意义所在。虽然了解内部情况有时会让您更好地了解为什么事情会以它们的方式工作(对于像 Moose 这样复杂的东西更是如此),但没有它您也可以编写代码。当您遇到问题时,您可能会更深入地了解问题所在。

第二个问题,如何学习 Moose,对于 Stack Overflow 来说确实不太合适。

于 2012-09-23T12:08:51.620 回答
2

谷歌“驼鹿在飞”。你会在那里找到你需要的一切

于 2012-09-23T13:18:33.873 回答