使用角色的改进(Moo::Role 或 Role::Tiny 或其他)
with qw(
Some::Role
Some::Other::Role
);
...
some_roles_method();
仅从 mixin 类显式导入函数
use Some::Role qw/some_roles_method/;
...
some_roles_method();
数量众多,包括增加的灵活性、更少的簿记(尤其是在导入大量方法的情况下)以及不覆盖现有方法。
但是一个很大的缺点是,如果您正在阅读代码并遇到提及some_roles_method()
并且想要阅读该函数,则不会立即知道该去哪里。你所能知道的是它没有在这个文件中定义。
有什么好的策略来处理吗?我是唯一一个困扰的人吗?