db处理程序的Singleton,Registry或配置文件

时间:2010-07-19 21:41:12

标签: design-patterns

好的,我要保持这个非常简单。哪种方法最适合应用程序中的db处理程序:Singleton,Registry模式,静态配置类或配置文件。

我一直在读这个问题,似乎有很多矛盾的想法。

我知道这不是一个适合所有解决方案但通常是针对此类问题的最佳做法。

1 个答案:

答案 0 :(得分:1)

永远不要使用Singleton,这只是一个鸣喇叭的巨大全局变量,其初始化绑定到进程的生命周期而不是它管理的资源。

你想要的是一个注入每个依赖它的范围的对象,换句话说,你正在寻找的模式是依赖注入。

对于最简单的应用程序,只需使用命令行参数和配置对象。

对于稍微复杂的应用程序,允许从配置文件创建默认配置对象,然后通过命令行参数进行修改。

对于中等程度更复杂的应用程序,请与您的平台/语言/操作系统本机注册表工具集成以提供默认值。

对于生产应用程序,使用IoC-DI容器,并在应用程序类外部构建config / db / etc对象,并在运行时注入。

关键是要避免使用进程静态配置对象,因为这会干扰测试,软重启,并使迁移到更灵活的配置方法变得更加困难。