设计模式:将全局变量存储在单个类中
我想将许多“全局变量”存储到一个类中。有什么我可以遵循的设计模式吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想将许多“全局变量”存储到一个类中。有什么我可以遵循的设计模式吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
当然,它的名字是大泥球。
Sure, it's called Big Ball of Mud.
通常,这就是单例模式的用途。
单例可能是最流行的,也是最受诟病的模式。
Typically this is what the singleton pattern is used for.
The singleton is probably both the most popular, and most reviled pattern.
您可能正在寻找服务定位器或依赖项注入。
Martin Fowler 对两者的看法:http://martinfowler.com/articles/injection.html
You may be looking for a service locator, or dependency injection.
Martin Fowler on both: http://martinfowler.com/articles/injection.html
您所描述的几乎是 Multiton,它与 单例。
它以键值对的形式管理命名实例的映射。
它具有与单例相同的缺点,除非您确实需要它,否则应该避免使用它。而且您可能并不真正需要它。
What you're describing is pretty much the Multiton, which is closely related to the Singleton.
It manages a map of named instances as key-value pairs.
It has the same drawbacks as a singleton, and should be avoided unless you really need it. And you probably don't really need it.
如果“全局变量”具有相同的类型/接口,我建议考虑Flyweight。
If the "globals" are of the same type/interface I would suggest to consider Flyweight.