我有 3 个日志类,它们都实现了 iLog 接口(interface):
DatabaseLog
FileLog
ScreenLog
它们只能有一个实例。最初我虽然为每个类使用单一模式,但后来我想为什么不使用工厂来实例化,因为这样我就不必为每个类和所有 future 的日志类创建单一模式。
也许将来有人会希望将它们作为多个对象。
所以我的问题是:我应该在这里使用工厂模式还是单例模式?
最佳答案
创建 Logger 实例的责任应该在哪里?每个要记录的类(class)?使用某种了解整体上下文的监督组件?
我认为更有可能是后者,因此工厂是有意义的。工厂可以拥有决定需要哪种日志记录的所有逻辑。
关于php - 单例 vs 工厂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2757176/