我明白使用构建器可以使子类轻松覆盖属性默认值,角色可以要求它们.这也可以使用如下默认设置完成:
has 'foo' => is => 'rw',isa => 'Str',default => sub { $_[0]->_build_foo };
我想知道使用建筑师是否还有其他优势我不知道?我已经想出了一些:
> builder是声明性的,所以你可以内省foo由_build_foo构建
>构建器消除了一个子程序包装器,使其更快一些
> builder可以使用有用的lazy_build.
更新为了澄清,这不是一般的默认vs构建器,但默认=> sub {$_ [0] – > _build_foo} vs builder => ‘_build_foo’.
解决方法
原文地址:https://www.jb51.cc/Perl/172724.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。