DVK*_*DVK 7 perl encapsulation coding-style perl-module
我想知道Perl的最佳实践是关于获取 - 或者更重要的是设置 - 某个模块的全局变量,通过直接访问$Module::varName以防模块没有为它提供getter/setter方法.
它闻起来不好的原因是它有点绕过封装.仅仅因为我可以在Perl中完成它,我不完全确定我应该(假设实际上有一个替代方法,比如在模块中添加一个getter/setter).
如果变量是公共API的一部分,则不会违反封装.(如果这不是另一回事.)
我认为直接访问更可取,因为它允许您利用动态范围:
local $Module::varName = 42;
Run Code Online (Sandbox Code Playgroud)
这使得与其他代码冲突的Module可能性降低.
| 归档时间: |
|
| 查看次数: |
1094 次 |
| 最近记录: |