1

我有一组需要组织的模块。它看起来有点像一组:

A.pm                    # Inherits from A_base
A_collection.pm         # Collection of a large number of instances of A
A_base.pm

我目前的结构如下:

.
|-- bin
|   `-- Main.pl
|-- lib
|   |-- A_base
|   |   `-- A.pm
|   `-- A_base.pm
`-- t

这样,当我引用A.pm时,它变成了...::A_base::A,表示 A_base 是父级。A_collection.pm放入这个结构的逻辑位置是什么?这个结构对吗?

4

1 回答 1

5

好吧,A_base::A仅表示继承自A_base您使用的约定。对任何此类都没有基于 perl 的要求。

您可能更喜欢以下内容:

A             - User typically uses these, inherits A::Base
A::Base       - base-class for A
A::Collection - lots of A's
A::Alt        - Alternative to "A", inherits A::Base
A::Plugin::X  - A plugin that does X

perl 模块的主要约定 AFAIK 是顶级名称应该是“主题”。您可能喜欢浏览,例如Log::Dispatch层次结构,或者 Moo 在MooX下的扩展,也许是MooX::Types。这些都没有在其命名中遵循父/子层次结构。

于 2013-06-17T08:10:28.907 回答