php - 单例 vs 工厂?

标签 php design-patterns

我有 3 个日志类,它们都实现了 iLog 接口(interface):

DatabaseLog
FileLog
ScreenLog

它们只能有一个实例。最初我虽然为每个类使用单一模式,但后来我想为什么不使用工厂来实例化,因为这样我就不必为每个类和所有 future 的日志类创建单一模式。

也许将来有人会希望将它们作为多个对象。

所以我的问题是:我应该在这里使用工厂模式还是单例模式?

最佳答案

创建 Logger 实例的责任应该在哪里?每个要记录的类(class)?使用某种了解整体上下文的监督组件?

我认为更有可能是后者,因此工厂是有意义的。工厂可以拥有决定需要哪种日志记录的所有逻辑。

关于php - 单例 vs 工厂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2757176/

相关文章:

oop - UML - 对象方法返回一个集合

php - 如何使用 Carbon 从 diffForHumans 获取天数和小时数?

php - 如何保护站点范围的 key

java - 设计建议,未能将工厂与泛型结合起来

c++ - 这个 C++ 习语是否有一个名称,其中类型出售扩展其接口(interface)的包装器?

c++ - 如何指定工厂对象的类型

php - 如何隔离不需要的 PHP 错误消息?

php - 采埃孚 : http request from one controller to onther hangs

php - 基本 : CakePHP data not being saved nor validation working?

java - 如何设计内部方法的访问范围?