我有一个包含很多类的脚本。在类的函数中,执行了许多mysql操作。我想在整个脚本中使用单个datebase句柄。因此,单例方法或依赖项注入(DI)可能会完成此工作。
但是,我想知道我是否正确,从维护角度来看,使用Singleton是更有效的方法:
假设我所有的(父)类最终都扩展了单例类。因此,为了更改有关获取数据库句柄的内容,我只需要对单例类进行修改。特别是,在添加新类等时,我不必考虑任何问题,因为通过扩展Singleton类的相应类将始终存在数据库句柄。
相反,在使用DI时,我必须在每个脚本中提供用于创建数据库句柄的代码,这可以作为起点(并将句柄传递给创建的实例)。例如。在script1.php,script2.php,script3.php等中。因此,必须对每个脚本,script1.php,script2.php,script3.php等进行修改,以获取数据库句柄的方式。 ..
在这方面,前一种方法对我而言比后者好得多。还是我要监督一些重要的事情?