我正在开发一个正在注入 Logger 对象的服务,但我可以拥有 2 种不同类型的记录器,我计划拥有一个 syslog 记录器和一个队列消息系统记录器。这可能吗?
这个想法是有一个接口:
interface Loggable
{
public function log() ;
}
和 2 个实现该接口的类:
class Syslogger implements Loggable
{
public function log()
{
...
}
}
class QMSLogger implements Loggable
{
public function log($queueName)
{
...
}
}
我能想到的唯一方法是将数组作为参数并在一个类上使用它而不在另一个类上使用......但这有点臭:P