全局对象的成员变量是否也应该是全局的?
我正在开发Eclipse中的插件,它要求Plugin类使用单例模式来访问运行时插件。该类保存对诸如Configuration和Resources之类的对象的引用。
在Eclipse 3.0插件运行时对象中
不是全球管理的,所以也是如此
通常无法访问。相反,
每个插件都可以自由声明API
这暴露了插件运行时
对象(例如,MyPlugin.getInstance()
为了让我的系统的其他组件访问这些对象,我必须执行以下操作:
MyPlugin.getInstance().getConfig().getValue(MyPlugin.CONFIGKEY_SOMEPARAMETER);
,这是过于冗长的IMO。
由于MyPlugin提供了全局访问权限,因此我不仅可以更轻松地提供对其管理的对象的全局访问权限吗?
MyConfig.getValue(MyPlugin.CONFIGKEY_SOMEPARAMETER);
有什么想法吗?
(我实际上是在问,因为我正在阅读整个“全球变量访问和单身人士是邪恶的”辩论)
没有找到相关结果
已邀请:
2 个回复
弓萍功
变
篮肥炼皖
太冗长了
可能会更好。按照这个逻辑,不会:
更好(也许不短,但更简单)?我建议你写一个本地帮手方法。 这为您提供了可读性的优势,而不会绕过那些通过修复代码完成简单/简单/简单方式的人精心设计的概念。 通常全局变量在任何情况下都非常讨厌。单身人士也是一个不起眼的概念,但他们在一堂课中打破了公共静止的局面。 考虑一下如何模拟这样一个类。嘲弄公共静态是非常令人讨厌的。嘲弄单身人士很难(你必须在每个使用它的方法中覆盖你的吸气剂)。依赖注入是下一个层次,但它可以是DI和一些简单单例之间的触摸调用。