gpt4 book ai didi

Perl OO 框架和程序设计 - Moose 和 Conway 的由内而外的对象 (Class::Std)

转载 作者:行者123 更新时间:2023-12-03 19:09:16 26 4
gpt4 key购买 nike

这更像是一个用例类型的问题......但也足够通用,可以更广泛地适用:

简而言之,我正在开发一个或多或少是命令行包装器的模块。 OO 自然。不涉及太多细节(除非有人想要它们),系统并没有非常复杂的程度,但在这个框架中拥有三四个对象确实感觉很自然。最后,我将把它放在那里,而不是由同一家公司的几个开发人员共同开发的模块。

首先,我使用 Class::Std 实现了 OO,因为 Perl Best Practices (Conway, 2005) 为为什么要使用由内而外的对象提出了很好的论据。完全控制访问哪些属性等等,适当的封装等等。而且他的设计非常简单和聪明。

我喜欢它,但后来注意到没有人真正使用它;事实上,康威本人似乎不再推荐这个了?

所以我搬到了大家最喜欢的Moose。它很容易使用,尽管对于我想要做的事情来说方式太过分了。最大的主要缺点是:它有大量的模块依赖项,迫使我的模块的用户全部下载它们。一个小缺点是它的功能比我真正需要的要多得多。

什么是建议?强制其他开发人员使用可能已过时的模块,或者强制模块的每个用户下载 Moose 及其所有依赖项,给其他开发人员带来不便?

对于流行的适当的 Perl OO 框架,是否有第三种选择,但这两个都没有?

最佳答案

公平地说,在 Perl 世界中看到几乎所有有趣的东西都在某个地方依赖 Moose,我不认为它对其他“Perl 开发人员”来说是一个很大的债务。

正如我们所说,他们可能已经安装了它!

编辑:一些统计数据:

Moose 目前在“最依赖”模块列表中排名第 65 位,Aliases top 100 ,有超过 1637 个软件包取决于它。这几乎和 Time::HiRes 之类的东西一样多。 , 以及超过 DBI ,而且我认为您不会根据这些问题提出问题吗?

关于Perl OO 框架和程序设计 - Moose 和 Conway 的由内而外的对象 (Class::Std),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3029357/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com