在 Python 和 Java 中,我们必须import
消除代码中完全限定的包/模块名称的重复。Perl/Moose 中是否有任何等价物?我认为如果我们不必重复,它真的会让 Moose 更好用MyApp::Model::Item
。相反,我想[somehow declare] MyApp::Model::Item;
稍后再简单地参考Item
. 我可以想到所有这些使用类名的用例......
extends 'Item';
with 'ItemRole';
Item->new(name => 'thing');
method foo(Item $xyz) { ... }
, 和MooseX::Method::Signatures
$var->isa('Item');
try { ... } catch (DatabaseError $e) { ... }
, 和TryCatch
$Item::SOME_PACKAGE_GLOBAL_VARIABLE
如果还没有这样的事情,关于我如何开始干净地实现它的任何想法?我可以看到处理类名用作字符串的情况会很棘手。