【发布时间】:2012-09-06 14:48:05
【问题描述】:
问题是老帽子 - 什么是在我们的系统中支持配置文件或系统配置的合适设计?我确定了以下要求:
- 应该能够实时重新加载并立即获取更改而无需重新部署
- 对于依赖相同(例如 SQL 或 memcached 凭据)的软件应用程序,应该可以在隔离的地方引入更改并一口气部署,即使应用程序位于不同位置的不同机器上
- 支持许多运行相同应用程序的进程/机器
而我正在努力解决的这个设计部分:
- 每个主要类是否应该将其自己的“Config”类作为构造函数的输入参数?是否应该有一个工厂负责实例化正确的配置?还是每个类都应该从自己的配置中读取并自动重新加载?
- 如果类 B 派生自类 A,或者围绕它进行组合,那么继承 Config 文件是否有意义?
- 说A类是由M1和M2(M代表“main”)构建的,M1负责实例化一个资源。假设资源依赖于我希望在 M1 和 M2 之间通用的 MySQL 凭据,有没有办法避免在中断所有权和放入 A 的配置 v. 跨 M1 和 M2 的配置中复制资源的权衡?
这些是我现在正在处理的设计问题,并不真正了解在这里工作的设计模式或框架。我在 Java 中,所以任何解决这个问题的库都非常受欢迎。
【问题讨论】:
标签: java design-patterns configuration