using DMS.Infrastructure.Interfaces.Services; using Microsoft.Extensions.Logging; using System; namespace DMS.Infrastructure.Services { /// /// MQTT服务工厂实现类,用于创建MQTT服务实例 /// public class MqttServiceFactory : IMqttServiceFactory { private readonly ILogger _logger; /// /// 构造函数,注入日志记录器 /// /// MQTT服务日志记录器 public MqttServiceFactory(ILogger logger) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); } /// /// 创建MQTT服务实例 /// /// IMqttService实例 public IMqttService CreateService() { return new MqttService(_logger); } /// /// 根据MQTT服务器配置创建MQTT服务实例 /// /// MQTT服务器配置 /// IMqttService实例 public IMqttService CreateService(Core.Models.MqttServer mqttServer) { if (mqttServer == null) throw new ArgumentNullException(nameof(mqttServer)); return new MqttService(_logger); } } }