单例和注册表设计模式之间有什么区别
2022-08-30 21:04:21
我在这两种模式之间有一些混淆:
单例
检查实例是否存在 返回它,或创建一个新实例。
注册表
检查实例是否存在,请返回它,或者创建一个新实例并存储它。
它们之间有什么区别?
我在这两种模式之间有一些混淆:
单例
检查实例是否存在 返回它,或创建一个新实例。
注册表
检查实例是否存在,请返回它,或者创建一个新实例并存储它。
它们之间有什么区别?
两者都与实例控制有关。不同之处在于,Singleton 只允许给定类的一个实例,而 Registry 则持有 1-1 个实例的键映射。通常,键是(或表示)一个类,值是该类的实例。
例如,Code Igniter 框架保存一个注册表,其中包含您加载的每个库/模型/控制器/帮助程序的实例,并且每次都返回这些相同的实例。