我想知道是否有任何用于创建“应用程序配置”结构、数据和文件的设计模式、指南或文档化的widsom/最佳实践。
我意识到在一些帖子中已经部分触及了这个问题,但我希望以下问题能促使从另一个方面看待这个话题。
具体来说,我的兴趣是开发配置设置的层次结构。
是否有任何具有足够复杂程度的实际项目可以研究其配置?
我的问题不是针对文件的格式或类型(是使用平面 ini 还是 json、xml 等),而是首先针对如何进行配置。
谢谢
最佳答案
确定应该在运行时(在应用程序启动期间)而不是在应用程序构建/编译阶段读取配置。您的二进制文件应该始终相同,无论它们在哪里运行。
在启动期间应用程序应该收到正确的配置(来自文件系统、环境变量、配置服务器等)。另一种可能性是(从同一来源)接收有关应使用哪个配置的信息,然后加载已捆绑在您的包中的正确配置。第二种选择不太灵活,但可能更容易开始。
能够覆盖开发环境中的特定配置部分(例如通过命令行)非常有用。有时您也可以使用它来快速调试生产问题。但总的来说,我会避免继承和覆盖部分配置,因为它很快变得难以管理和查看整套可用属性。我建议将配置分成两部分。一个 - 在所有环境(常量、路径、公司的邮件服务器等)中通用,第二个 - 在不同运行时(url、db 密码等)之间变化的东西
你必须牢记测试。您的组件必须在集成测试期间正确初始化。预先或稍后考虑它,您将不得不与您的框架作斗争
关于design-patterns - 创建应用程序/产品配置的设计模式/指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27673981/